This commit is contained in:
2025-12-28 12:16:05 +05:45
commit 7c46ec6731
3358 changed files with 467149 additions and 0 deletions

3
resources/css/app.css Normal file
View File

@@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

7
resources/js/app.js Normal file
View File

@@ -0,0 +1,7 @@
import './bootstrap';
import Alpine from 'alpinejs';
window.Alpine = Alpine;
Alpine.start();

4
resources/js/bootstrap.js vendored Normal file
View File

@@ -0,0 +1,4 @@
import axios from 'axios';
window.axios = axios;
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

View File

@@ -0,0 +1,27 @@
<x-guest-layout>
<div class="mb-4 text-sm text-gray-600">
{{ __('This is a secure area of the application. Please confirm your password before continuing.') }}
</div>
<form method="POST" action="{{ route('password.confirm') }}">
@csrf
<!-- Password -->
<div>
<x-input-label for="password" :value="__('Password')" />
<x-text-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="current-password" />
<x-input-error :messages="$errors->get('password')" class="mt-2" />
</div>
<div class="flex justify-end mt-4">
<x-primary-button>
{{ __('Confirm') }}
</x-primary-button>
</div>
</form>
</x-guest-layout>

View File

@@ -0,0 +1,25 @@
<x-guest-layout>
<div class="mb-4 text-sm text-gray-600">
{{ __('Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.') }}
</div>
<!-- Session Status -->
<x-auth-session-status class="mb-4" :status="session('status')" />
<form method="POST" action="{{ route('password.email') }}">
@csrf
<!-- Email Address -->
<div>
<x-input-label for="email" :value="__('Email')" />
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus />
<x-input-error :messages="$errors->get('email')" class="mt-2" />
</div>
<div class="flex items-center justify-end mt-4">
<x-primary-button>
{{ __('Email Password Reset Link') }}
</x-primary-button>
</div>
</form>
</x-guest-layout>

View File

@@ -0,0 +1,109 @@
@extends('layouts.guest')
@section('content')
<div class="auth-page-wrapper pt-5">
<!-- auth page bg -->
<div class="auth-one-bg-position auth-one-bg" id="auth-particles">
<div class="bg-overlay"></div>
<div class="shape">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 1440 120">
<path d="M 0,36 C 144,53.6 432,123.2 720,124 C 1008,124.8 1296,56.8 1440,40L1440 140L0 140z"></path>
</svg>
</div>
</div>
<!-- auth page content -->
<div class="auth-page-content">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center mt-sm-5 mb-4 text-white-50">
<div>
<a href="{{ url('/') }}" class="d-inline-block auth-logo"><img
src="{{ asset(setting('logo')) }}" class="dark-login" alt=""></a>
</div>
<p class="mt-3 fs-15 fw-medium">{{ setting('title') }}</p>
</div>
</div>
</div>
<!-- end row -->
<div class="row justify-content-center">
<div class="col-md-8 col-lg-6 col-xl-5">
<div class="card mt-4">
<div class="card-body p-4">
<div class="text-center mt-2">
<h5 class="text-primary">Welcome Back !</h5>
<p class="text-muted">Sign in to continue to {{ setting('title') }} Admin Portal.
</p>
</div>
<div class="p-2 mt-4">
{{ html()->form('POST', route('login'))->open() }}
<div class="mb-3">
{{ html()->label('Email')->for('email')->class('mb-1 form-label') }}
{{ html()->email('email')->class('form-control')->placeholder('Enter Email')->required() }}
@error('email')
<p class="text-danger mb-0">{{ $message }}</p>
@enderror
</div>
<div class="mb-3">
{{ html()->label('Password')->for('password')->class('form-label') }}
<div class="position-relative auth-pass-inputgroup mb-3">
{{ html()->password('password')->class('form-control pe-5 password-input')->placeholder('Enter Password')->required() }}
<button
class="btn btn-link position-absolute end-0 top-0 text-decoration-none text-muted password-addon"
type="button" id="password-addon"><i
class="ri-eye-fill align-middle"></i></button>
@error('password')
<p class="text-danger mb-0">{{ $message }}</p>
@enderror
</div>
</div>
<div class="form-check">
{{ html()->checkbox('remember')->class('form-check-input') }}
{{ html()->label('Remember me')->class('form-check-label')->for('remember') }}
</div>
<div class="mt-4">
<button class="btn text-white w-100" type="submit"
style="background-color: var(--vz-primary)">Sign Me In</button>
</div>
{{ html()->form()->close() }}
</div>
</div>
<!-- end card body -->
</div>
<!-- end card -->
</div>
</div>
<!-- end row -->
</div>
<!-- end container -->
</div>
<!-- end auth page content -->
<!-- footer -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<p class="mb-0 text-muted">&copy;
{{ date('Y') }} Consultancy CMS by Bibhuti Solutions
</p>
</div>
</div>
</div>
</div>
</footer>
<!-- end Footer -->
</div>
@endsection

View File

@@ -0,0 +1,52 @@
<x-guest-layout>
<form method="POST" action="{{ route('register') }}">
@csrf
<!-- Name -->
<div>
<x-form.input-label for="name" :value="__('Name')" />
<x-form.text-input id="name" class="block mt-1 w-full" type="text" name="name" :value="old('name')" required autofocus autocomplete="name" />
<x-form.input-error :messages="$errors->get('name')" class="mt-2" />
</div>
<!-- Email Address -->
<div class="mt-4">
<x-form.input-label for="email" :value="__('Email')" />
<x-form.text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autocomplete="username" />
<x-form.input-error :messages="$errors->get('email')" class="mt-2" />
</div>
<!-- Password -->
<div class="mt-4">
<x-form.input-label for="password" :value="__('Password')" />
<x-form.text-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="new-password" />
<x-form.input-error :messages="$errors->get('password')" class="mt-2" />
</div>
<!-- Confirm Password -->
<div class="mt-4">
<x-form.input-label for="password_confirmation" :value="__('Confirm Password')" />
<x-form.text-input id="password_confirmation" class="block mt-1 w-full"
type="password"
name="password_confirmation" required autocomplete="new-password" />
<x-form.input-error :messages="$errors->get('password_confirmation')" class="mt-2" />
</div>
<div class="flex items-center justify-end mt-4">
<a class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" href="{{ route('login') }}">
{{ __('Already registered?') }}
</a>
<x-form.primary-button class="ms-4">
{{ __('Register') }}
</x-form.primary-button>
</div>
</form>
</x-guest-layout>

View File

@@ -0,0 +1,39 @@
<x-guest-layout>
<form method="POST" action="{{ route('password.store') }}">
@csrf
<!-- Password Reset Token -->
<input type="hidden" name="token" value="{{ $request->route('token') }}">
<!-- Email Address -->
<div>
<x-input-label for="email" :value="__('Email')" />
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email', $request->email)" required autofocus autocomplete="username" />
<x-input-error :messages="$errors->get('email')" class="mt-2" />
</div>
<!-- Password -->
<div class="mt-4">
<x-input-label for="password" :value="__('Password')" />
<x-text-input id="password" class="block mt-1 w-full" type="password" name="password" required autocomplete="new-password" />
<x-input-error :messages="$errors->get('password')" class="mt-2" />
</div>
<!-- Confirm Password -->
<div class="mt-4">
<x-input-label for="password_confirmation" :value="__('Confirm Password')" />
<x-text-input id="password_confirmation" class="block mt-1 w-full"
type="password"
name="password_confirmation" required autocomplete="new-password" />
<x-input-error :messages="$errors->get('password_confirmation')" class="mt-2" />
</div>
<div class="flex items-center justify-end mt-4">
<x-primary-button>
{{ __('Reset Password') }}
</x-primary-button>
</div>
</form>
</x-guest-layout>

View File

@@ -0,0 +1,31 @@
<x-guest-layout>
<div class="mb-4 text-sm text-gray-600">
{{ __('Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn\'t receive the email, we will gladly send you another.') }}
</div>
@if (session('status') == 'verification-link-sent')
<div class="mb-4 font-medium text-sm text-green-600">
{{ __('A new verification link has been sent to the email address you provided during registration.') }}
</div>
@endif
<div class="mt-4 flex items-center justify-between">
<form method="POST" action="{{ route('verification.send') }}">
@csrf
<div>
<x-primary-button>
{{ __('Resend Verification Email') }}
</x-primary-button>
</div>
</form>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit" class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
{{ __('Log Out') }}
</button>
</form>
</div>
</x-guest-layout>

View File

@@ -0,0 +1,12 @@
<!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>

View File

@@ -0,0 +1,154 @@
{{-- <head>
<link rel="icon" type="image/png" href="{{ asset(setting('favicon')) }}" />
</head> --}}
<!DOCTYPE php>
<php lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ setting('title') }}</title>
<link rel="icon" type="image/png" sizes="32x32" href="{{ asset(setting('favicon')) }}">
<link rel="shortcut icon" href="{{ asset(setting('favicon')) }}">
{{-- <link rel="manifest" href="{{ asset('rohini/assets/images/favicons/site.webmanifest') }}" /> --}}
<link rel="manifest" href="{{ asset(setting('favicon')) }}" />
{{-- @dd(setting('favicon')) --}}
<meta name="description" content="Rohini International Education Services " />
<!-- fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link
href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
rel="stylesheet">
<link
href="https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/bootstrap/css/bootstrap.min.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/animate/animate.min.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/animate/custom-animate.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/fontawesome/css/all.min.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/jarallax/jarallax.css') }}" />
<link rel="stylesheet"
href="{{ asset('rohini/assets/vendors/jquery-magnific-popup/jquery.magnific-popup.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/odometer/odometer.min.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/swiper/swiper.min.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/bizgrow-icons/style.css') }}">
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/owl-carousel/owl.carousel.min.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/owl-carousel/owl.theme.default.min.css') }}" />
<link rel="stylesheet"
href="{{ asset('rohini/assets/vendors/bootstrap-select/css/bootstrap-select.min.css') }}" />
<link rel="stylesheet"
href="{{ asset('rohini/assets/vendors/ion.rangeSlider/css/ion.rangeSlider.min.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/jquery-ui/jquery-ui.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/vendors/timepicker/timePicker.css') }}" />
<link rel="stylesheet" href="{{ asset('rohini\assets\css\custom.css') }}?v={{ time() }}" />
<!-- template styles -->
<link rel="stylesheet" href="{{ asset('rohini/assets/css/bizgrow.css') }}?v={{ time() }}" />
<link rel="stylesheet" href="{{ asset('rohini/assets/css/bizgrow-responsive.css') }}?v={{ time() }}" />
<!-- Font Awesome for social icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css">
<!-- preloading images in slider -->
<link rel="preload" as="image" href="{{ asset('rohini/assets/images/rohini/slider1.webp') }}">
<link rel="preload" as="image" href="{{ asset('rohini/assets/images/rohini/slider2.webp') }}">
<link rel="preload" as="image" href="{{ asset('rohini/assets/images/rohini/slider3.webp') }}">
<link href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css" rel="stylesheet">
<style>
/* Message Styling */
</style>
@stack('css')
</head>
<body class="custom-cursor">
<div class="custom-cursor__cursor"></div>
<div class="custom-cursor__cursor-two"></div>
<!-- Facebook Plugin -->
<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v21.0">
</script>
<!--
<div class="preloader">
<div class="preloader__image"></div>
</div>
-->
<!-- /.preloader -->
<!-- Facebook Plugin-->
<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v21.0">
</script>
<!-- Facebook Plugin-->
@include('client.rohini.layouts.partials.sidebar')
@include('client.rohini.layouts.partials.header')
@yield('content')
<a class="whatsapp-icon" href="{{ setting('whatsapp') }}" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/6/6b/WhatsApp.svg" alt="WhatsApp" />
</a>
@if (setting('chatbot_check'))
@include('chatbot::chatbot')
@endif
<a href="{{ route('home') }}#" data-target="html" class="scroll-to-target scroll-to-top"><i
class="icon-right-arrow"></i></a>
@include('client.rohini.layouts.partials.footer')
<script src="{{ asset('rohini/assets/vendors/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/jarallax/jarallax.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/jquery-ajaxchimp/jquery.ajaxchimp.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/jquery-appear/jquery.appear.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/jquery-circle-progress/jquery.circle-progress.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/jquery-magnific-popup/jquery.magnific-popup.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/jquery-validate/jquery.validate.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/odometer/odometer.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/swiper/swiper.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/wnumb/wNumb.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/wow/wow.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/isotope/isotope.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/bootstrap-select/js/bootstrap-select.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/jquery-ui/jquery-ui.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/timepicker/timePicker.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/circleType/jquery.circleType.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/circleType/jquery.lettering.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/ion.rangeSlider/js/ion.rangeSlider.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/sidebar-content/jquery-sidebar-content.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/marquee/marquee.min.js') }}"></script>
<script src="{{ asset('rohini/assets/vendors/owl-carousel/owl.carousel.min.js') }}"></script>
<!-- template js -->
<script src="{{ asset('rohini/assets/js/bizgrow.js') }}?v={{ time() }}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
@stack('js')
</body>
</html>

View File

@@ -0,0 +1,160 @@
<div class="pt-4"></div>
<!--Site Footer Start-->
<footer class="site-footer">
<div class="site-footer__shape-1 float-bob-x"> <img src="rohini/assets/images/shapes/site-footer-shape-1.png"
alt="">
</div>
<div class="site-footer__shape-2 float-bob-y"> <img src="rohini/assets/images/shapes/site-footer-shape-2.png"
alt="">
</div>
<div class="container">
<div class="site-footer__top ">
<div class="row">
<div class="col-xl-3 col-lg-6 col-md-6 wow fadeInUp" data-wow-delay="100ms">
<div class="footer-widget__column footer-widget__about">
<div class="footer-widget__logo"> <a href="{{ route('home') }}"><img
src="{{ asset(setting('logo_white')) }}" alt=""></a> </div>
<p class="footer-widget__about-text text-white">{{setting('description')}}</p>
<div class="site-footer__social">
@if(setting('facebook'))<a href="{{ setting('facebook') }}" target="_blank"><i class="icon-facebook-app-symbol"></i></a>@endif
@if(setting('whatsapp'))<a href="{{ setting('whatsapp') }}" target="_blank"><i class="fab fa-whatsapp"></i></a>@endif
@if(setting('viber'))<a href="{{ setting('viber') }}" target="_blank"><i class="fab fa-viber"></i></a>@endif
@if(setting('instagram'))<a href="{{ setting('instagram') }}" target="_blank"><i class="fab fa-instagram"></i></a>@endif
</div>
</div>
</div>
@foreach ($footerMenus as $menu)
<div @class([
'col-xl-3 col-lg-6 col-md-6 wow fadeInUp' => $loop->first,
'col-xl-2 col-lg-6 col-md-6 wow fadeInUp' => !$loop->first,
])>
<div @class([
'footer-widget__column footer-widget__usefull-link' => $loop->first,
'footer-widget__column footer-widget__services' => !$loop->first,
]) class="">
<div class="footer-widget__title-box">
<h3 class="footer-widget__title">{{ $menu->title }}</h3>
</div>
<div class="footer-widget__link-box">
<ul class="footer-widget__link list-unstyled footer-link">
@if ($menu->hasSubMenu())
@foreach ($menu->children as $subMenu)
<li><a href="{{ $subMenu->route_name }}">{{ $subMenu->title }}</a></li>
@endforeach
@endif
</ul>
</div>
</div>
</div>
@endforeach
<div class="col-xl-3 col-lg-6 col-md-6 wow fadeInUp" data-wow-delay="400ms">
<div class="footer-widget__column footer-widget__instagram">
<div class="footer-widget__title-box">
<h3 class="footer-widget__title">Social Media</h3>
</div>
{{-- <div class="fb-page" data-href="{{ setting('facebook') }}" data-tabs="timeline" data-width=""
data-height="250" data-small-header="true" data-adapt-container-width="true"
data-hide-cover="true" data-show-facepile="false">
<blockquote cite="{{ setting('facebook') }}" class="fb-xfbml-parse-ignore"><a
href="{{ setting('facebook') }}">Rohini International Education
Services</a></blockquote>
</div> --}}
<div class="fb-page"
data-href="{{ setting('facebook') }}"
data-tabs="timeline"
data-width="323"
data-height="270"
data-small-header="false"
data-adapt-container-width="true"
data-hide-cover="false"
data-show-facepile="false">
</div>
</div>
</div>
</div>
</div>
</div>
{{-- <div class="site-footer__bottom">
<div class="container">
<div class="row text-center">
<div class="col-lg-10 mx-auto">
<p class="site-footer__bottom-text text-white pt-4 pb-4">{{ setting('copyright') }}</p>
</div>
</div>
</div>
<div class="container">
<div class="row text-center">
<div class="col-lg-10 mx-auto">
<p class="site-footer__bottom-text text-white pt-4 pb-4"> Designed By: Bibhuti Solutions</p>
</div>
</div>
</div>
</div> --}}
<div class="site-footer__bottom">
<div class="container">
<div class="row justify-content-between align-items-center text-center text-lg-start">
<div class="col-lg-6 col-12 mb-2 mb-lg-0">
<p class="site-footer__bottom-text text-white pt-4 pb-4 mb-0">
{{ setting('copyright') }}
</p>
</div>
<div class="col-lg-6 col-12 text-lg-end">
<p class="site-footer__bottom-text text-white pt-4 pb-4 mb-0">
{{-- <a href="https://bibhutisolutions.com/" target="_blank" style="color: #fff; text-decoration: underline;">Designed By: Bibhuti Solutions</a> --}}
<a href="https://bibhutisolutions.com/" target="_blank"
style="color: #fff; text-decoration: none;"
onmouseover="this.style.textDecoration='underline'"
onmouseout="this.style.textDecoration='none'">
Designed By: Bibhuti Solutions
</a>
</p>
</div>
</div>
</div>
</div>
</footer>
<!--Site Footer End-->
<!-- /.page-wrapper -->
<div class="mobile-nav__wrapper">
<div class="mobile-nav__content"> <span class="mobile-nav__close mobile-nav__toggler"><i
class="fa fa-times"></i></span>
<div class="logo-box"> <a href="{{ route('home') }}" aria-label="logo image"><img
src="{{ asset(setting('logo_white')) }}" width="145" alt="" /></a> </div>
<div class="mobile-nav__container"></div>
<ul class="mobile-nav__contact list-unstyled">
<li> <i class="fa fa-envelope"></i> <a href="mailto:{{ setting('email') }}">{{ setting('email') }}</a>
</li>
<li> <i class="fa fa-phone-alt"></i> <a href="tel:{{ setting('phone') }}">{{ setting('phone') }}</a> </li>
</ul>
<!-- /.mobile-nav__contact -->
<div class="mobile-nav__top">
<div class="mobile-nav__social">
@if(setting('facebook'))<a href="{{ setting('facebook') }}" target="_blank"><i class="icon-facebook-app-symbol"></i></a>@endif
@if(setting('whatsapp'))<a href="{{ setting('whatsapp') }}" target="_blank"><i class="fab fa-whatsapp"></i></a>@endif
@if(setting('viber'))<a href="{{ setting('viber') }}" target="_blank"><i class="fab fa-viber"></i></a>@endif
@if(setting('instagram'))<a href="{{ setting('instagram') }}" target="_blank"><i class="fab fa-instagram"></i></a>@endif
</div>
</div>
</div>
<div class="search-popup">
<div class="search-popup__overlay search-toggler"></div>
<div class="search-popup__content">
<form action="#">
<label for="search" class="sr-only">search here</label>
<!-- /.sr-only -->
<input type="text" id="search" placeholder="Search Here..." />
<button type="submit" aria-label="search submit" class="thm-btn"> <i
class="icon-search-interface-symbol"></i> </button>
</form>
</div>
</div>

View File

@@ -0,0 +1,107 @@
<div class="page-wrapper">
<header class="main-header">
<div class="main-menu__top">
<div class="container">
<div class="main-menu__top-inner">
<ul class="list-unstyled main-menu__contact-list">
<li>
<div class="icon"> <i class="icon-telephone-call"></i> </div>
<div class="text">
<p><a href="tel:{{ setting('phone') }}">{{ setting('phone') }}</a></p>
</div>
</li>
<li>
<div class="icon"> <i class="icon-mail"></i> </div>
<div class="text">
<p><a href="mailto:{{ setting('email') }}">{{ setting('email') }}</a> </p>
</div>
</li>
<li>
<a href="https://www.google.com/maps/place/Rohini+Int'l+Education+Services/@27.6945317,85.3446311,15z/data=!4m6!3m5!1s0x39eb19a9afd9dd73:0x21f21466029a5dfa!8m2!3d27.7032279!4d85.3208009!16s%2Fg%2F11b6j7zhd6?entry=ttu&g_ep=EgoyMDI1MDkxNC4wIKXMDSoASAFQAw%3D%3D"
target="_blank" rel="noopener noreferrer"
style="display:flex; align-items:center; text-decoration:none; color:inherit;">
<div class="icon">
<i class="icon-location"></i>
</div>
<div class="text">
<p>{{ setting('location') }}</p>
</div>
</a>
</li>
</ul>
<div class="main-menu__top-right">
<div class="main-menu__top-time">
<div class="main-menu__top-time-icon"> <span class="icon-history"></span> </div>
<p class="main-menu__top-text">{{ setting('working_days') }}: {{ setting('working_hours') }}
</p>
</div>
<div class="main-menu__social">
@if(setting('facebook'))<a href="{{ setting('facebook')}}" target="_blank"><i class="fab fa-facebook"></i></a>@endif
@if(setting('whatsapp'))<a href="{{ setting('whatsapp') }}" target="_blank"><i class="fab fa-whatsapp"></i></a>@endif
@if(setting('viber'))<a href="{{ setting('viber') }}" target="_blank"><i class="fab fa-viber"></i></a>@endif
@if(setting('instagram'))<a href="{{ setting('instagram') }}" target="_blank"><i class="fab fa-instagram"></i></a>@endif
</div>
</div>
</div>
</div>
</div>
<nav class="main-menu">
<div class="main-menu__wrapper">
<div class="container">
<div class="main-menu__wrapper-inner">
<div class="main-menu__left">
<div class="main-menu__logo"> <a href="{{ route('home') }}"><img
src="{{ asset(setting('logo')) }}" alt=""></a> </div>
<div class="main-menu__main-menu-box"> <a href="{{ route('home') }}"
class="mobile-nav__toggler"><i class="fa fa-bars"></i></a>
@unless (!$headerMenus)
<ul class="main-menu__list">
@foreach ($headerMenus as $menu)
<!-- <li> <a href="{{ route('home') }}">Home</a> </li> -->
<li @class(['dropdown' => $menu->hasSubMenu()])> <a target="{{ $menu->target }}"
href="{{ $menu->route_name }}">{{ $menu->title }}</a>
@if ($menu->hasSubMenu())
<ul>
@foreach ($menu->children as $subMenu)
<li>
<a href="{{ $subMenu->route_name }}">{{ $subMenu->title }}</a>
</li>
@endforeach
</ul>
@endif
</li>
@endforeach
</ul>
@endunless
</div>
</div>
<div class="main-menu__right">
<!-- <div class="main-menu__btn-box"> <a href="contact.php" class="main-menu__btn thm-btn"><span class="icon-right-arrow"></span> Free Quote</a> </div>-->
<div class="main-menu__nav-sidebar-icon"> <a class="navSidebar-button"
href="{{ route('home') }}">
<span class="icon-dots-menu-one"></span> <span class="icon-dots-menu-two"></span>
<span class="icon-dots-menu-three"></span> </a>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="stricky-header stricked-menu main-menu">
<div class="sticky-header__content"></div>
<!-- /.sticky-header__content -->
</div>
<!-- /.stricky-header -->
<style>
.testimonial-one__text {
font-size: 20px;
font-family: 'Arial', sans-serif;
line-height: 1.6;
letter-spacing: 0.5px;
word-spacing: 2px;
color: #333;
}
</style>

View File

@@ -0,0 +1,106 @@
<!-- Start sidebar widget content -->
<div class="xs-sidebar-group info-group info-sidebar">
<div class="xs-overlay xs-bg-black"></div>
<div class="xs-sidebar-widget">
<div class="sidebar-widget-container">
<div class="widget-heading"> <a href="{{ route('home') }}" class="close-side-widget">X</a> </div>
<div class="sidebar-textwidget">
<div class="sidebar-info-contents">
<div class="content-inner">
<div class="logo"> <a href="{{ route('home') }}"><img src="{{ setting('logo') }}"
alt="" /></a> </div>
<div class="content-box">
<h4>About Us</h4>
<p>Rohini International Education is committed to transforming the academic dreams of
students into reality. Since our inception, we have been dedicated to offering
personalized, high-quality guidance for students aspiring to study abroad. </p>
</div>
<div class="form-inner">
<h4>Inquiry Now</h4>
<form id="inquiry_form" method="post">
@csrf
<input type="hidden" name="type" value="enquiries">
<div class="form-group">
<input type="text" id="name" name="name" placeholder="Name"
required="">
</div>
<div class="form-group">
<input type="email" id="email" name="email" placeholder="Email"
required="">
</div>
<div class="form-group">
<textarea id="message" name="message" placeholder="Message"></textarea>
</div>
<div class="form-group message-btn">
<button id="inquiry-submit" type="submit" class="thm-btn">Submit Now</button>
</div>
</form>
<div class="result"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- End sidebar widget content -->
@push('js')
<script>
$(document).ready(function() {
toastr.options = {
"closeButton": true,
"progressBar": true,
"positionClass": "toast-top-right",
"timeOut": "3000"
};
$('#inquiry_form').submit(function(event) {
// alert('submitted');
event.preventDefault(); // Prevent default form submission
var submitButton = $('#inquiry-submit');
// Prepare the form data
var formData = {
name: $('#name').val(),
email: $('#email').val(),
message: $('#message').val(),
_token: $('meta[name="csrf-token"]').attr('content') // CSRF token
};
// Submit form via AJAX
$.ajax({
url: "{{ route('enquiry.submit') }}",
method: 'POST',
data: formData,
beforeSend: function() {
submitButton.prop('disabled', true);
submitButton.text("Sending...");
},
success: function (response) {
// Display success Toastr message
toastr.success('Your enquiry has been submitted successfully!');
// Optionally, clear the form
$('#inquiry_form')[0].reset();
},
error: function (xhr) {
// Display error Toastr message
if (xhr.responseJSON && xhr.responseJSON.message) {
toastr.error(xhr.responseJSON.message);
} else {
toastr.error('An error occurred while submitting your enquiry.');
}
},
complete: function() {
submitButton.prop('disabled', false);
submitButton.text("Send Message");
}
});
});
});
</script>
@endpush

View File

@@ -0,0 +1,113 @@
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.breadcrumb')
<!--About One Start -->
<section class="about-one section-pd">
<div class="container">
<div class="row align-items-center">
<div class="col-xl-6">
<div class="about-one__left wow slideInLeft" data-wow-delay="100ms" data-wow-duration="2500ms">
<div class="section-title text-left">
<div class="section-title__tagline-box"> <span
class="section-title__tagline">{{ $page->title }}</span> </div>
<h2 class="section-title__title">{!! implode(' ', array_slice(explode(' ', $page->short_description), 0, 3)) .
'<br>' .
implode(' ', array_slice(explode(' ', $page->short_description), 3)) !!}
</h2>
</div>
<div class="row">
<div class="col-xl-6 col-lg-6 col-md-6">
<div class="about-one__img-box">
@foreach ($page->images as $photo)
<div class="about-one__img-{{ $loop->iteration }}"> <img src="{{ $photo }}"
alt=""> </div>
@endforeach
</div>
</div>
<div class="col-xl-6 col-lg-6 col-md-6">
<div class="about-one__img-box-two">
<div class="about-one__img-3"> <img src="{{ $page->image }}" alt=""> </div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-6">
<div class="about-one__right">
<div class="about-one__text">{!! $page->description !!}</div>
</div>
</div>
</div>
</div>
</section>
<!--About One End -->
@if ($page->children->count() > 0)
@php
$mv = $page->children[0];
@endphp
<!--Background Image-->
<section class="section-background"> </section>
<!--Background Image End-->
<!--Mission-->
{{-- <section class="services-two">
<div class="services-two__bg" style="background-image: url('{{ $mv->image }}');"> </div>
<div class="container">
@foreach ($page->children as $child)
<div class="row"style="margin-bottom:50px;">
<div class="col-xl-8">
<div class= >
<div class="services-two__left-top">
<div class="section-title-two text-left">
<div class="section-title-two__tagline-box">
<p class="section-title__tagline"
style="font-weight: bold; color:red; font-size:25px;">{{ $mv->title }}
</p>
</div>
</div>
</div>
<div class="row" style="width: 70%">
<h2 class="small-title">{{ $child->short_description }}</h2>
{!! $child->description !!}
</div>
</div>
</div>
</div>
@endforeach
</div>
</section> --}}
<section class="why-choose-one section-bg section-pd ">
<div class="container">
<div class="row align-items-center">
<div class="col-xl-6">
@foreach ($page->children as $child)
<div class="services-two__left">
<div class="section-title text-left">
<div class="section-title__tagline-box"> <span
class="section-title__tagline ">{{ $child->title }}</span> </div>
<h2 class="small-title">{{ $child->short_description }}</h2>
</div>
<div @class([ '-mt-30' => $loop->first])>{!! $child->description !!}</div>
</div>
@endforeach
</div>
<div class="col-xl-6">
<div class="why-choose-one__right">
<div class="why-choose-one__img wow slideInRight" data-wow-delay="100ms"
data-wow-duration="2500ms"> <img src="{{ $mv->image }}" alt=""> </div>
</div>
</div>
</div>
</div>
</section>
<!--Mission End-->
@endif
@include('client.rohini.pages.partials.newsletter')
@endsection

View File

@@ -0,0 +1,199 @@
<style>
/* Sticky Sidebar States */
@media(min-width:992px){
#stickySidebar {
position: static;
width: 420px !important;
transition: all 0.3s ease;
}
#stickySidebar.is-fixed {
position: fixed;
top: 11px; /* distance from top */
width: 350px;
z-index: 10;
}
#stickySidebar.is-bottom {
position: absolute;
top: auto;
bottom: 20px;
width: 100%;
}
}
</style>
@extends('client.rohini.layouts.app')
@section('content')
<!--Page Header Start-->
<section class="page-header">
<div class="page-header__bg" style="background-image: url('{{ $page->banner }}');"> </div>
<div class="container">
<div class="page-header__inner">
<div class="thm-breadcrumb__box">
<ul class="thm-breadcrumb list-unstyled">
<li><a href="{{ route('home') }}">Home</a></li>
<li><span>-</span></li>
<li>Post details</li>
</ul>
</div>
<h2>Post details</h2>
</div>
</div>
</section>
<!--Page Header End-->
<!--Blog Details Start-->
<section class="blog-details">
<div class="container">
<div class="row">
<div class="col-xl-8 col-lg-7">
<div class="blog-details__left">
<div class="blog-details__content-one">
<div class="blog-details__content-one-img"> <img src="{{ $page->image }}" alt="">
<div class="blog-one__date">
<p>{{ getFormatted(date: $page->date, format: 'd') }}
<br> <span>{{ getFormatted(date: $page->date, format: 'M') }}</span>
</p>
</div>
</div>
<div class="blog-details__content-one-details">
<ul class="blog-details__meta list-unstyled">
<li> <a href="#"><span class="icon-user-icon"></span>{{ $page->author }}</a> </li>
</ul>
<h3 class="blog-details__title ">{{ $page->title }}</h3>
{!! $page->description !!}
</div>
</div>
<div class="blog-details__content-three">
<div class="blog-details__content-three-img-boxes">
@if ($page->images)
<div class="row">
<div class="col-xl-6">
<div class="blog-details__content-three-img"> <img src="{{ $page->images[0] }}"
alt=""> </div>
</div>
<div class="col-xl-6">
<div class="blog-details__content-three-img"> <img src="{{ $page->images[1] }}"
alt=""> </div>
</div>
</div>
@endif
</div>
</div>
</div>
</div>
<div class="col-xl-4 col-lg-5">
<div class="sticky-wrapper">
<div id="stickySidebar" class="sidebar">
<div class="sidebar__single sidebar__post">
<div class="sidebar__title-box">
<h3 class="sidebar__title">Recent Post</h3>
</div>
<ul class="sidebar__post-list list-unstyled">
@foreach ($recentBlogs as $post)
<li>
<div class="sidebar__post-image"> <img src="{{ $post->image }}" alt="">
</div>
<div class="sidebar__post-content">
<p class="sidebar__post-date"><span
class="icon-calendar"></span>{{ getFormatted(date: $post->date, format: 'd M, Y') }}
</p>
<h3 class="sidebar__post-title"><a
href={{ route('blog.single', $post->slug) }}>{{ $post->title }}</a>
</h3>
</div>
</li>
@endforeach
</ul>
</div>
<div class="sidebar__single sidebar__gallery">
<div class="sidebar__title-box">
<h3 class="sidebar__title">Social Media</h3>
</div>
{{-- <div class="fb-page" data-href="{{ setting('facebook') }}" data-tabs="timeline"
data-width="" data-height="400" data-small-header="true"
data-adapt-container-width="true" data-hide-cover="true" data-show-facepile="false">
<blockquote cite="{{ setting('facebook') }}" class="fb-xfbml-parse-ignore"><a
href="{{ setting('facebook') }}">Rohini International Education Services</a>
</blockquote>
</div> --}}
<div class="fb-page"
data-href="{{ setting('facebook') }}"
data-tabs="timeline"
data-width="323"
data-height="430"
data-small-header="false"
data-adapt-container-width="true"
data-hide-cover="false"
data-show-facepile="false">
</div>
</div>
<div class="sidebar__single sidebar__support">
<div class="sidebar__support-bg"
style="background-image: url('{{ asset('rohini/assets/images/backgrounds/sidebar-support-bg.jpg') }}');">
</div>
<div class="sidebar__support-icon"> <span class="icon-icon-call"></span> </div>
<h3 class="sidebar__support-title">Get quality <br>
consultancy <br>
services</h3>
<div class="sidebar__support-btn-box"> <a href="{{ route('page.load', 'contact') }}"
class="sidebar__support-btn thm-btn"><span class="icon-right-arrow"></span> Direct
Contact</a> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!--Blog Details End-->
@include('client.rohini.pages.partials.newsletter')
@endsection
<script>
document.addEventListener('DOMContentLoaded', function () {
const sidebar = document.getElementById('stickySidebar');
if (!sidebar) return;
const wrapper = sidebar.parentElement;
const footer = document.querySelector('footer'); // Update if you use a different footer selector
const topOffset = 20;
let wrapperTop = wrapper.getBoundingClientRect().top + window.scrollY;
let wrapperWidth = wrapper.offsetWidth;
function refreshMeasurements() {
wrapperTop = wrapper.getBoundingClientRect().top + window.scrollY;
wrapperWidth = wrapper.offsetWidth;
}
function onScroll() {
const scrollY = window.scrollY;
const footerTop = footer.getBoundingClientRect().top + window.scrollY;
const sidebarHeight = sidebar.offsetHeight;
if (scrollY + topOffset >= wrapperTop && scrollY + topOffset + sidebarHeight < footerTop) {
sidebar.classList.add('is-fixed');
sidebar.classList.remove('is-bottom');
sidebar.style.width = wrapperWidth + 'px';
} else if (scrollY + topOffset + sidebarHeight >= footerTop) {
sidebar.classList.remove('is-fixed');
sidebar.classList.add('is-bottom');
sidebar.style.width = wrapperWidth + 'px';
} else {
sidebar.classList.remove('is-fixed', 'is-bottom');
sidebar.style.width = '100%';
}
}
window.addEventListener('scroll', onScroll);
window.addEventListener('resize', refreshMeasurements);
refreshMeasurements();
onScroll();
});
</script>

View File

@@ -0,0 +1,54 @@
@php
$blogs = getBlogs(limit: 8, order: 'desc', paginate: true);
@endphp
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.breadcrumb')
<!--Blog Page One Start-->
<section class="blog-page-one">
<div class="container">
<div class="row">
<!--BLog One Single Start-->
@foreach($blogs as $blog)
<div class="col-xl-4 col-lg-6 col-md-6 wow fadeInLeft" data-wow-delay="100ms">
<div class="blog-one__single">
<div class="blog-one__img-box">
<div class="blog-one__img">
<img src="{{ $blog->image }}" alt="">
</div>
</div>
<div class="blog-one__content">
{{-- <div class="blog-one__date" data-date="{{ $blog->date }}">
<p>
<span class="day"></span>
<br>
<span class="month"></span>
</p>
</div> --}}
<div class="blog-one__date">
<p>{{ getFormatted(date:$blog->date, format:'d') }}
<br> <span>{{ getFormatted(date:$blog->date, format:'M') }}</span></p>
</div>
<ul class="blog-one__meta list-unstyled">
<li>
<a href="{{ route('blog.single', $blog->slug) }}"><span class="icon-user-icon"></span>{{ $blog->author }}</a>
</li>
</ul>
<h3 class="blog-one__title"><a href="{{ route('blog.single', $blog->slug) }}">{{$blog->title}}</a></h3>
{{-- <p class="blog-one__text">{{$blog->short_description}}</p> --}}
<p class="blog-one__text">{{ str($blog->short_description)->limit(170) }}</p>
<a href="{{ route('blog.single', $blog->slug) }}" class="blog-one__btn"><span
class="icon-right-arrow"></span>Post Details</a>
</div>
</div>
</div>
@endforeach
<!--BLog One Single End-->
</div>
</div>
</section>
<!--Blog Page One End-->
@include('client.rohini.pages.partials.newsletter')
@endsection

View File

@@ -0,0 +1,272 @@
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.breadcrumb')
<!--Contact Page Start-->
<section class="contact-page">
<div class="container">
<div class="row">
<div class="col-xl-4 col-lg-5">
<div class="contact-page__left">
<div class="section-title-two text-left">
<div class="section-title-two__tagline-box">
<p class="section-title-two__tagline">{{ $page->short_description }}</p>
<div class="section-title-two__shape"> <img src="rohini/assets/images/shapes/section-title-two-shape.png" alt=""> </div>
</div>
<h2 class="section-title-two__title">{{ $page->title }} !! </h2>
</div>
<div class="contact-page__contact-info">
<ul class="list-unstyled contact-page__contact-info-list">
<li>
<div class="icon"> <i class="fa fa-phone"></i> </div>
<div class="text">
<p><a href="tel:{{ setting('phone') }}">{{ setting('phone') }}</a></p>
</div>
</li>
<li>
<div class="icon"> <i class="fa fa-mobile"></i> </div>
<div class="text">
<p><a href="tel:{{ setting('mobile') }}">{{ setting('mobile') }}</a></p>
</div>
</li>
<li>
<div class="icon"> <i class="fa fa-map-marker"></i> </div>
<div class="text">
<p>{{ setting('location') }}</p>
</div>
</li>
<li>
<div class="icon"> <i class="fa fa-envelope"></i> </div>
<div class="text">
<p><a href="mailto:{{ setting('email') }}">{{ setting('email') }}</a></p>
</div>
</li>
</ul>
{{-- <div class="contact-page__live-chat"> <a href="contact.html#"><span class="icon-comments"></span>Live Chat</a> </div> --}}
</div>
</div>
</div>
<div class="col-xl-8 col-lg-7">
<div class="contact-page__right">
<div class="contact-page__form-box">
<h5 class="contact-page__form-title">Get in Touch</h5>
<form id="enquiry_form" class="">
@csrf
<div class="row">
<div class="col-xl-12">
<div class="comment-form__input-box text-message-box">
<div class="comment-form__input-box-name">
<p>Comments</p>
</div>
<textarea name="message" id="message2" placeholder="Comments"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-6">
<div class="comment-form__input-box">
<div class="comment-form__input-box-name">
<p>Full Name</p>
</div>
<input type="text" placeholder="Full name" id="name2" name="name">
</div>
</div>
<div class="col-xl-6">
<div class="comment-form__input-box">
<div class="comment-form__input-box-name">
<p>Your email</p>
</div>
<input type="email" placeholder="Your email" id="email2" name="email">
</div>
</div>
<div class="col-xl-6">
<div class="comment-form__input-box">
<div class="comment-form__input-box-name">
<p>Phone</p>
</div>
<input type="text" placeholder="Phone" id="mobile2" name="phone">
</div>
</div>
<div class="col-xl-6">
<div class="comment-form__input-box">
<div class="comment-form__input-box-name">
<p>Subject</p>
</div>
<input type="text" id="subject2" placeholder="Subject" name="subject">
</div>
</div>
</div>
<div class="row">
<div class="col-xl-12">
<div class="comment-form__btn-box">
<button id="contact-submit" type="submit" class="thm-btn"><span
class="icon-right-arrow"></span>Send Message</button>
</div>
</div>
</div>
</form>
<div class="result"></div>
</div>
</div>
</div>
</div>
</div>
</section>
<!--Contact Page End-->
<!--Google Map Start-->
<section class="contact-page-google-map">
<div class="container">
{!!setting('map') !!}
</div>
</section>
<!--Google Map End-->
@endsection
{{-- @push('js')
<script>
$(function() {
toastr.options = {
closeButton: true,
progressBar: true,
positionClass: "toast-top-right",
timeOut: 3000
};
$('#enquiry_form').on('submit', function(e) {
console.log('submitting the form');
e.preventDefault();
let btn = $('#contact-submit');
btn.prop('disabled', true).text('Sending...');
$.ajax({
url: "{{ route('storeEnquiries') }}",
method: 'POST',
data: $(this).serialize(),
success(response) {
console.log('Enquiry submitted successfully:', response);
toastr.success(response.message || 'Your enquiry has been submitted!');
$('#enquiry_form')[0].reset();
},
error(xhr) {
if (xhr.status === 422 && xhr.responseJSON.errors) {
// Show first validation error
let first = Object.values(xhr.responseJSON.errors)[0][0];
toastr.error(first);
} else if (xhr.status === 419) {
toastr.error('Session expired. Please refresh the page and try again.');
} else {
let msg = (xhr.responseJSON && xhr.responseJSON.message) ?
xhr.responseJSON.message :
'An unexpected error occurred.';
toastr.error(msg);
}
},
complete() {
btn.prop('disabled', false).text('Send Message');
}
});
});
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const phoneInput = document.getElementById('phoneInput');
const phoneError = document.getElementById('phoneError');
phoneInput.addEventListener('input', function() {
let val = phoneInput.value;
// Allow digits only
val = val.replace(/[^0-9]/g, '');
let errorMsg = '';
let isValid = false;
// Block if not starting with 98 or 97
if (val.length >= 1 && !val.startsWith('98') && !val.startsWith('97')) {
errorMsg = 'Number must start with 98 or 97';
val = val.slice(0, 2); // restrict early
}
// Limit to 10 digits
if (val.length > 10) {
errorMsg = 'Number must be exactly 10 digits';
val = val.slice(0, 10);
}
// Less than 10 digits
if (val.length > 0 && val.length < 10) {
errorMsg = 'Number must be exactly 10 digits';
}
// Valid number case
if (/^(98|97)\d{8}$/.test(val)) {
isValid = true;
errorMsg = '';
}
// Final updates
phoneInput.value = val;
phoneError.textContent = errorMsg;
});
});
</script>
@endpush --}}
@push('js')
<script>
$(document).ready(function () {
toastr.options = {
"closeButton": true,
"progressBar": true,
"positionClass": "toast-top-right",
"timeOut": "3000"
};
$('#enquiry_form').submit(function (event) {
event.preventDefault();
var submitButton = $('#contact-submit');
// Prepare the form data
var formData = {
name: $('#name2').val(),
email: $('#email2').val(),
mobile: $('#mobile2').val(),
subject: $('#subject2').val(),
message: $('#message2').val(),
_token: $('meta[name="csrf-token"]').attr('content') // CSRF token
};
// Submit form via AJAX
$.ajax({
url: "{{ route('enquiry.submit') }}",
method: 'POST',
data: formData,
beforeSend: function() {
submitButton.prop('disabled', true);
submitButton.text("Sending...");
},
success: function (response) {
// Display success Toastr message
toastr.success('Your enquiry has been submitted successfully!');
// Optionally, clear the form
$('#enquiry_form')[0].reset();
},
error: function (xhr) {
if (xhr.status === 422 && xhr.responseJSON && xhr.responseJSON.errors) {
$.each(xhr.responseJSON.errors, function (key, messages) {
// messages is an array, show the first error
toastr.error(messages[0]);
});
} else if (xhr.responseJSON && xhr.responseJSON.message) {
toastr.error(xhr.responseJSON.message);
} else {
toastr.error('An error occurred while submitting your enquiry.');
}
},
complete: function() {
submitButton.prop('disabled', false);
submitButton.text("Send Message");
}
});
});
});
</script>
@endpush

View File

@@ -0,0 +1,14 @@
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.slider')
@include('client.rohini.pages.partials.counter')
@include('client.rohini.pages.partials.about')
@include('client.rohini.pages.partials.service')
@include('client.rohini.pages.partials.choose')
@include('client.rohini.pages.partials.university')
@include('client.rohini.pages.partials.testimonial')
@include('client.rohini.pages.partials.visa')
{{-- @include('client.rohini.pages.partials.class') --}}
@include('client.rohini.pages.partials.blog')
@include('client.rohini.pages.partials.newsletter')
@endsection

View File

@@ -0,0 +1,111 @@
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.breadcrumb')
@php
$institutions = getInstitutions(limit: null, order: 'asc');
@endphp
<section class="case-studies-two">
<div class="container">
<div class="row filter-layout">
<!--Project Two Single Start-->
@foreach($institutions as $institution)
<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 filter-item plan busi">
<div class="project-two__single">
<div class="project-two__img-box">
<div class="project-two__img">
<img src="{{ $institution->image }}" alt="">
</div>
<div class="project-two__content">
<h3 class="project-two__title"><a href={{ $institution->link }} target="_blank">{{$institution->title}}</a></h3>
<div class="project-two__arrow">
<a href={{ $institution->link }} target="_blank"><span
class="icon-next"></span></a>
</div>
</div>
</div>
</div>
</div>
@endforeach
<!--Project Two Single End-->
</div>
{{-- <div class="row">
<div class="col-xl-12">
<div class="blog-page__pagination">
<ul class="pg-pagination list-unstyled">
<li class="prev">
<a href="institutions.php" aria-label="Prev"><i class="icon-prev"></i></a>
</li>
<li class="count"><a href="institutions.php">1</a></li>
<li class="count"><a href="institutions.php">2</a></li>
<li class="count"><a href="institutions.php">3</a></li>
<li class="next">
<a href="institutions.php" aria-label="Next"><i class="icon-next"></i></a>
</li>
</ul>
</div>
</div>
</div> --}}
</div>
</section>
<!--case studies Two End-->
@include('client.rohini.pages.partials.newsletter')
<!--Appointment One Start-->
{{-- <section class="appointment-one">
<div class="appointment-one__bg"
style="background-image: url('assets/images/backgrounds/appointment-one-bg.jpg');"></div>
<div class="container">
<div class="section-title-two text-center">
<div class="section-title-two__tagline-box">
<p style="font-size:17px" class="section-title-two__tagline">_ _Make appointment_ _</p>
<div class="section-title-two__shape">
<img src="assets/images/shapes/section-title-two-shape.png" alt="">
</div>
</div>
<h2 class="section-title-two__title">Free project estimate</h2>
</div>
<form action="assets/inc/sendemail.php" class="appointment-one__form contact-form-validated"
novalidate="novalidate">
<div class="row">
<div class="col-xl-6 col-lg-6">
<div class="appointment-one__input-box">
<input type="text" placeholder="Your Name" name="name">
</div>
</div>
<div class="col-xl-6 col-lg-6">
<div class="appointment-one__input-box">
<input type="email" placeholder="Email Address" name="email">
</div>
</div>
<div class="col-xl-6 col-lg-6">
<div class="appointment-one__input-box">
<input type="text" placeholder="Phone Number" name="phone">
</div>
</div>
<div class="col-xl-6 col-lg-6">
<div class="appointment-one__input-box">
<input type="text" placeholder="Subject" name="Subject">
</div>
</div>
</div>
<div class="row">
<div class="col-xl-12">
<div class="appointment-one__input-box text-message-box">
<textarea name="message" placeholder="Write Message"></textarea>
</div>
<div class="appointment-one__btn-box">
<button type="submit" class="thm-btn appointment-one__btn"><span
class="icon-right-arrow"></span>Make Appointment</button>
</div>
</div>
</div>
</form>
<div class="result"></div>
</div>
</section> --}}
@endsection

View File

@@ -0,0 +1,71 @@
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.breadcrumb')
<!-- other-destination page starts -->
<section class="other-destinations">
<div class="container ">
<h2>{{ $page->short_description }}</h2>
<div class="row other-destinations-content ">
<!--other-destination description-->
<div class="col-lg-6 col-md-12">
<div class="other-destinations_paragraph">
{!! $page->description !!}
</div>
</div>
<div class="col-lg-1"><!--empty column for spacing--></div>
<div class="col-lg-5 col-md-12">
<div class="other-destinations_image">
<img src="{{ $page->image }}" alt="">
</div>
</div>
</div>
@if ($page->children->count() > 0)
@php
$section = $page->children[0];
@endphp
<!-- video description -->
<div class=" other-destinations-video">
<div class="">
<h2>{{ $section->title }}</h2>
</div>
<div class="other-destinations-video_content">
<div class="other-destinations-video-img">
<img src="{{ $section->image }}" alt="">
<div class="other-destinations-video-link">
<a href="{{ $section->link }}" class="video-popup">
<div class="other-destination-video-icon">
<span class="fa fa-play"></span>
<i class="ripple"></i>
</div>
</a>
</div>
</div>
<div class="other-destinations-video_paragraph">
<h3>{{ $section->short_description }}</h3>
{!! $section->description !!}
</div>
</div>
</div>
@endif
</div>
</section>
<!-- other-destination page ends -->
@include('client.rohini.pages.partials.newsletter')
@endsection

View File

@@ -0,0 +1,45 @@
@if ($page->children->count() > 0)
@php
$about = $page->children[0];
// dd($about);
@endphp
<!--About One Start -->
<section class="about-one section-pd section-bg">
<div class="container">
<div class="row align-items-center">
<div class="col-xl-6">
<div class="about-one__left wow slideInLeft" data-wow-delay="100ms" data-wow-duration="2500ms">
<div class="row">
<div class="col-xl-6 col-lg-6 col-md-6">
<div class="about-one__img-box">
@foreach($about->images as $photo)
<div class="about-one__img-{{ $loop->iteration }}"> <img src="{{ $photo }}" alt=""> </div>
@endforeach
</div>
</div>
<div class="col-xl-6 col-lg-6 col-md-6">
<div class="about-one__img-box-two">
<div class="about-one__img-3"> <img src="{{ $about->image }}" alt=""> </div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-6">
<div class="about-one__right">
<div class="section-title text-left">
<div class="section-title__tagline-box"> <span class="section-title__tagline">{{ $about->title }}</span>
</div>
<h2 class="section-title__title">{{ $about->short_description }}</h2>
</div>
<P class="about-one__text mb-4">{!! $about->description !!}</P>
<div class="about-one__btn-and-client-info">
<div class="about-one__btn-box pt-4"> <a href="{{ $about->button_url }}" class="about-one__btn thm-btn"><span class="icon-right-arrow"></span>{{ $about->button_text }}</a> </div>
</div>
</div>
</div>
</div>
</div>
</section>
<!--About One End -->
@endif

View File

@@ -0,0 +1,55 @@
@if ($page->children->count() > 7)
@php
$blogpage = $page->children[7];
@endphp
<!--Blog One Start-->
@php
$blogs = getBlogs(limit: 3, order: 'desc', paginate: true);
@endphp
<section class="blog-one section-bg pt-10 pb-10">
<div class="container">
<div class="section-title text-center">
<div class="section-title__tagline-box"> <span
class="section-title__tagline">{{ $blogpage->title }}</span> </div>
<h2 class="section-title__title">{!! implode(' ', array_slice(explode(' ', $blogpage->short_description), 0, 3)) .
'<br>' .
implode(' ', array_slice(explode(' ', $blogpage->short_description), 3)) !!}</h2>
</div>
<div class="row" >
<!--BLog One Single Start-->
@foreach ($blogs as $blog)
<div class="col-xl-4 col-lg-6 col-md-6 wow fadeInLeft" data-wow-delay="100ms">
<div class="blog-one__single">
<div class="blog-one__img-box">
<div class="blog-one__img"> <img class="blog-style1" src="{{ $blog->image }}"
alt=""> </div>
</div>
<div class="blog-one__content">
<ul class="blog-one__meta list-unstyled">
<li> <a href="{{ route('blog.single', $blog->slug) }}"><span
class="icon-calendar"></span>{{ getFormatted(date: $blog->date, format: 'd M, Y') }}</a>
</li>
</ul>
<h3 class="blog-one__title"><a
href="{{ route('blog.single', $blog->slug) }}">{{ $blog->title }}</a></h3>
{{-- <p class="blog-one__text">{{ $blog->short_description }}</p> --}}
<p class="blog-one__text">{{ str($blog->short_description)->limit(170) }}</p>
<a href="{{ route('blog.single', $blog->slug) }}" class="blog-one__btn"><span
class="icon-right-arrow"></span>Post Details</a>
</div>
</div>
</div>
@endforeach
<!--BLog One Single End-->
</div>
</div>
</section>
<!--Blog One End-->
@endif
<styLe>
.blog-style1 {
height: 300PX;
object-fit: cover;
}
</styLe>

View File

@@ -0,0 +1,22 @@
@php
$currentUrl = url('/');
$currentUrl = $currentUrl . '/';
$bannerUrl = ($page->banner !== $currentUrl) ? $page->banner : setting('banner');
@endphp
<!--Page Header Start-->
<section class="page-header">
<div class="page-header__bg" style="background-image: url('{{ $bannerUrl }}');"></div>
<div class="container">
<div class="page-header__inner">
<div class="thm-breadcrumb__box">
<ul class="thm-breadcrumb list-unstyled">
<li><a href="{{ route('home') }}">Home</a></li>
<li><span>-</span></li>
<li>{{ $page->title }}</li>
</ul>
</div>
<h2>{{ $page->title }}</h2>
</div>
</div>
</section>
<!--Page Header End-->

View File

@@ -0,0 +1,33 @@
@if ($page->children->count() > 2)
@php
$why = $page->children[2];
@endphp
<!--Why Choose One Start -->
<section class="why-choose-one section-bg section-pd">
<div class="why-choose-one__right large-img">
<div class="why-choose-one__img wow slideInRight" data-wow-delay="100ms" data-wow-duration="2500ms"> <img src="{{ $why->image }}" alt=""> </div>
</div>
<div class="container">
<div class="row">
<div class="col-xl-6 col-xl-6">
<div class="why-choose-one__left">
<div class="section-title text-left">
<div class="section-title__tagline-box"> <span class="section-title__tagline">{{ $why->title }}</span> </div>
<h2 class="section-title__title">{{ $why->short_description }}</h2>
</div>
{!! $why->description !!}
</div>
</div>
<div class="col-xl-6 col-xl-6">
<div class="why-choose-one__right home">
<div class="why-choose-one__img wow slideInRight" data-wow-delay="100ms" data-wow-duration="2500ms"> <img src="{{ $why->image }}" alt=""> </div>
</div>
</div>
</div>
</div>
</section>
<!--Why Choose One End -->
@endif

View File

@@ -0,0 +1,38 @@
@if ($page->children->count() > 6)
@php
$test = $page->children[6];
@endphp
<section class="feature-one section-pd">
<div class="container">
<div class="section-title text-center">
<div class="section-title__tagline-box"> <span class="section-title__tagline">{{ $test->title }}</span> </div>
<h2 class="section-title__title">{!! implode(' ', array_slice(explode(' ', $test->short_description), 0, 3)) .'<br>' .implode(' ', array_slice(explode(' ', $test->short_description), 3)) !!}</h2>
</div>
<div class="feature-one__inner">
<div class="row">
<!--Feature One Single Start-->
@foreach($classes as $class)
<div class="col-xl-4 col-lg-4 wow fadeInLeft animated" data-wow-delay="100ms" style="visibility: visible; animation-delay: 100ms; animation-name: fadeInLeft;">
<div class="feature-one__single">
<div class="feature-one__shape-1" style="background-image: url('rohini/assets/images/shapes/feature-one-shape-1.png');"></div>
<div class="feature-one__shape-2" style="background-image: url('rohini/assets/images/shapes/feature-one-shape-2.png');"></div>
<div class="feature-one__icon"> <span class="{{ $class->icon_class }}"></span> </div>
<div class="feature-one__content">
<h3 class="feature-one__title"><a href="{{ route('test.single', $class->slug) }}">{{ $class->title }}</a></h3>
<a href="{{ route('test.single', $class->slug) }}" class="feature-one__read-more"><span class="icon-right-arrow"></span>Read More</a> </div>
</div>
</div>
@endforeach
<!--Feature One Single End-->
</div>
</div>
</div>
</section>
@endif

View File

@@ -0,0 +1,23 @@
<!-- Counter One Start -->
<section class="counter-one">
<div class="container">
<div class="counter-one__inner">
<div class="counter-one__bg" style="background-image: url('rohini/assets/images/backgrounds/counter-one-bg.png');">
</div>
<ul class="counter-one__count-list list-unstyled">
@foreach($counters as $counter)
<li class="wow fadeInUp" data-wow-delay="100ms">
<div class="icon"> <span class="{{ $counter->icon }}"></span> </div>
<div class="content count-box">
<h3 class="count-text">
<span data-stop="2000" data-speed="10">{{ $counter->counter }}</span>+
</h3>
<p>{{ $counter->title }}</p>
</div>
</li>
@endforeach
</ul>
</div>
</div>
</section>
<!-- Counter One End -->

View File

@@ -0,0 +1,91 @@
<!--Newsletter One Start -->
<section class="newsletter-one">
<div class="container">
<div class="newsletter-one__inner">
<div class="newsletter-one__bg"
style="background-image: url('rohini/assets/images/backgrounds/newsletter-one-bg.jpg');"></div>
<div class="newsletter-one__title-box">
<h3 class="newsletter-one__title">Our Newsletter</h3>
</div>
<div class="newsletter-one__form-box">
<form id="newsletter_form" class="newsletter-one__form contact-form-validated">
@csrf
<div class="newsletter-one__input-box">
<input type="text" placeholder="Full Name" id="newsletter-name" name="newsletter-name">
</div>
<div class="newsletter-one__input-box">
<input type="email" placeholder="Email Here" id="newsletter-email" name="newsletter-email">
</div>
<div class="newsletter-one__btn-box">
<button id="news-submit" type="submit" class="thm-btn"><span
class="icon-right-arrow"></span>Subscribe Now</button>
</div>
</form>
<div class="result"></div>
</div>
</div>
</div>
</section>
<!--Newsletter One End -->
@push('js')
<script>
$(document).ready(function () {
toastr.options = {
"closeButton": true,
"progressBar": true,
"positionClass": "toast-top-right",
"timeOut": "3000"
};
$('#newsletter_form').submit(function (event) {
// alert('submitted');
event.preventDefault(); // Prevent default form submission
var submitButton = $('#news-submit');
// Prepare the form data
var formData = {
email: $('#newsletter-email').val(),
name: $('#newsletter-name').val(),
_token: $('meta[name="csrf-token"]').attr('content') // CSRF token
};
// Submit form via AJAX
$.ajax({
url: "{{ route('newsletter.submit') }}",
method: 'POST',
data: formData,
beforeSend: function() {
submitButton.prop('disabled', true);
submitButton.text("Submitting...");
},
success: function (response) {
// Display success Toastr message
toastr.success('Your have been subscribed to our newsletter successfully!');
// Optionally, clear the form
$('#newsletter_form')[0].reset();
},
error: function (xhr) {
if (xhr.status === 422 && xhr.responseJSON && xhr.responseJSON.errors) {
$.each(xhr.responseJSON.errors, function (key, messages) {
// messages is an array, show the first error
toastr.error(messages[0]);
});
} else if (xhr.responseJSON && xhr.responseJSON.message) {
toastr.error(xhr.responseJSON.message);
} else {
toastr.error('An error occurred while submitting your enquiry.');
}
},
complete: function() {
submitButton.prop('disabled', false);
submitButton.text("Subscribe Now");
}
});
});
});
</script>
@endpush

View File

@@ -0,0 +1,76 @@
@if ($page->children->count() > 1)
@php
$servicepage = $page->children[1];
$totalServices = $services->count(); // total number of service items
@endphp
<!--Services One Start -->
<section class="services-one section-pd">
<div class="container">
<div class="section-title text-center">
<div class="section-title__tagline-box">
<span class="section-title__tagline">{{ $servicepage->title }}</span>
</div>
<h2 class="section-title__title">
{!! implode(' ', array_slice(explode(' ', $servicepage->short_description), 0, 4)) . '<br>' .
implode(' ', array_slice(explode(' ', $servicepage->short_description), 4)) !!}
</h2>
</div>
<div class="services-one__inner">
<div class="owl-carousel thm-owl__carousel--range owl-theme services-one__carousel"
data-owl-options='{
"loop": false,
"nav": true,
"autoWidth": false,
"navText": ["<span class=\"icon-prev\"></span>","<span class=\"icon-next\"></span>"],
"dots": false,
"margin": 30,
"items": {{ $totalServices >= 3 ? 3 : $totalServices }},
"smartSpeed": 700,
"responsive": {
"0": { "items": 1, "margin": 20 },
"768": { "items": {{ $totalServices >= 2 ? 2 : 1 }}, "margin": 20 },
"992": { "items": {{ $totalServices >= 2 ? 2 : 1 }}, "margin": 30 },
"1200": { "items": {{ $totalServices >= 3 ? 3 : $totalServices }}, "margin": 30 }
}
}'>
@foreach ($services as $service)
<div class="item">
<div class="services-one__single">
<div class="services-one__img-box">
<div class="services-one__img">
<img class="service1-img" src="{{ $service->image }}" alt="">
</div>
</div>
<div class="services-one__content">
<div class="services-one__icon">
<span class="{{ $service->icon_class }}"></span>
</div>
<h3 class="services-one__title">
<a href="{{ route('service.single', $service->slug) }}">{{ $service->title }}</a>
</h3>
<div class="services-one__hover-content">
<h3 class="services-one__hover-title">
<a href="{{ route('service.single', $service->slug) }}">{{ $service->title }}</a>
</h3>
<p class="services-one__hover-text">
{{ \Illuminate\Support\Str::words($service->short_description, 30, '...') }}
</p>
<a href="{{ route('service.single', $service->slug) }}" class="services-one__btn">
<span class="icon-right-arrow-11"></span>Read More
</a>
</div>
</div>
</div>
</div>
@endforeach
</div>
@if($totalServices > 3)
<div class="thm-owl__carousel--range__input">
<input type="text" value="" name="range">
</div>
@endif
</div>
</div>
</section>
<!--Services One End -->
@endif

View File

@@ -0,0 +1,148 @@
<!--Services One Start -->
<section class="services-one section-pd">
<div class="container">
<div class="section-title text-center">
<div class="section-title__tagline-box"> <span class="section-title__tagline">Our Services</span>
</div>
<h2 class="section-title__title">From Application to Arrival<br> Were With You</h2>
</div>
<div class="services-one__inner">
<div class="owl-carousel thm-owl__carousel--range owl-theme services-one__carousel"
data-owl-options='{"loop": false,
"nav": true,
"autoWidth": true,
"navText": ["<span class=\"icon-prev\"></span>","<span class=\"icon-next\"></span>"],
"dots": false,
"margin": 10,
"items": 1,
"smartSpeed": 700,
"responsive": {
"0": {
"margin": 30,
"items": 1,
"autoWidth": false
},
"768": {
"margin": 30,
"items": 2,
"autoWidth": false
},
"992": {
"margin": 30,
"items": 2
},
"1200": {
"margin": 30,
"items": 3
}
}}'>
<!--Services One Single Start-->
<div class="item">
<div class="services-one__single">
<div class="services-one__img-box">
<div class="services-one__img"> <img src="assets/images/services/services-1-1.jpg" alt=""> </div>
</div>
<div class="services-one__content">
<div class="services-one__icon"> <span class="icon-planning"></span> </div>
<h3 class="services-one__title"><a href="service-details.php.php">Career Counseling</a></h3>
<div class="services-one__hover-content">
<h3 class="services-one__hover-title"><a href="service-details.php">Career Counseling</a></h3>
<p class="services-one__hover-text">Personalized guidance to help students choose the right course and university that align with their academic goals and career aspirations.</p>
<a href="service-details.php" class="services-one__btn"><span class="icon-right-arrow-11"></span>Read More</a> </div>
</div>
</div>
</div>
<!--Services One Single End-->
<!--Services One Single Start-->
<div class="item">
<div class="services-one__single">
<div class="services-one__img-box">
<div class="services-one__img"> <img src="assets/images/services/services-1-2.jpg" alt=""> </div>
</div>
<div class="services-one__content">
<div class="services-one__icon"> <span class="icon-handshake"></span> </div>
<h3 class="services-one__title"><a href="service-details.php">University Selection</a> </h3>
<div class="services-one__hover-content">
<h3 class="services-one__hover-title"><a href="service-details.php">University Selection</a></h3>
<p class="services-one__hover-text">Assistance in selecting institutions that offer the best fit for students based on their academic background, interests, and financial situation.</p>
<a href="service-details.php" class="services-one__btn"><span class="icon-right-arrow-11"></span>Read More</a> </div>
</div>
</div>
</div>
<!--Services One Single End-->
<!--Services One Single Start-->
<div class="item">
<div class="services-one__single">
<div class="services-one__img-box">
<div class="services-one__img"> <img src="assets/images/services/services-1-3.jpg" alt=""> </div>
</div>
<div class="services-one__content">
<div class="services-one__icon"> <span class="icon-save-money"></span> </div>
<h3 class="services-one__title"><a href="service-details.php">Application Assistance</a> </h3>
<div class="services-one__hover-content">
<h3 class="services-one__hover-title"><a href="service-details.php">Application Assistance</a></h3>
<p class="services-one__hover-text">Step-by-step guidance in preparing and submitting applications to ensure accuracy and timeliness.</p>
<a href="service-details.php" class="services-one__btn"><span class="icon-right-arrow-11"></span>Read More</a> </div>
</div>
</div>
</div>
<!--Services One Single End-->
<!--Services One Single Start-->
<div class="item">
<div class="services-one__single">
<div class="services-one__img-box">
<div class="services-one__img"> <img src="assets/images/services/services-1-1.jpg" alt=""> </div>
</div>
<div class="services-one__content">
<div class="services-one__icon"> <span class="icon-planning"></span> </div>
<h3 class="services-one__title"><a href="service-details.php">Visa Processing</a></h3>
<div class="services-one__hover-content">
<h3 class="services-one__hover-title"><a href="service-details.php">Visa Processing</a></h3>
<p class="services-one__hover-text">Expert advice and support in managing visa applications, ensuring all documentation is in order, and requirements are met.</p>
<a href="service-details.php" class="services-one__btn"><span class="icon-right-arrow-11"></span>Read More</a> </div>
</div>
</div>
</div>
<!--Services One Single End-->
<!--Services One Single Start-->
<div class="item">
<div class="services-one__single">
<div class="services-one__img-box">
<div class="services-one__img"> <img src="assets/images/services/services-1-2.jpg" alt=""> </div>
</div>
<div class="services-one__content">
<div class="services-one__icon"> <span class="icon-handshake"></span> </div>
<h3 class="services-one__title"><a href="service-details.php">Test Preparation</a> </h3>
<div class="services-one__hover-content">
<h3 class="services-one__hover-title"><a href="service-details.php">Test Preparation</a></h3>
<p class="services-one__hover-text">Comprehensive coaching for IELTS, TOEFL, PTE, and other required tests, helping students achieve their desired scores.</p>
<a href="service-details.php" class="services-one__btn"><span class="icon-right-arrow-11"></span>Read More</a> </div>
</div>
</div>
</div>
<!--Services One Single End-->
<!--Services One Single Start-->
<div class="item">
<div class="services-one__single">
<div class="services-one__img-box">
<div class="services-one__img"> <img src="assets/images/services/services-1-3.jpg" alt=""> </div>
</div>
<div class="services-one__content">
<div class="services-one__icon"> <span class="icon-save-money"></span> </div>
<h3 class="services-one__title"><a href="service-details.php">Pre-Departure Briefing</a> </h3>
<div class="services-one__hover-content">
<h3 class="services-one__hover-title"><a href="service-details.php">Pre-Departure Briefing</a></h3>
<p class="services-one__hover-text">Orientation on living abroad, including accommodation, cultural expectations, and safety tips, ensuring students are well-prepared for their new environment.</p>
<a href="service-details.php" class="services-one__btn"><span class="icon-right-arrow-11"></span>Read More</a> </div>
</div>
</div>
</div>
<!--Services One Single End-->
</div>
<div class="thm-owl__carousel--range__input">
<input type="text" value="" name="range">
</div>
</div>
</div>
</section>
<!--Services One End -->

View File

@@ -0,0 +1,71 @@
<style>
/* 1) Completely hide the carousel container until Owl is ready */
.main-slider-two__carousel {
visibility: hidden;
}
/* 2) As soon as Owl adds .owl-loaded, show it in one go */
.main-slider-two__carousel.owl-loaded {
visibility: visible;
}
.main-slider-two__carousel .owl-nav {
display: none !important;
}
</style>
<section class="main-slider-two slider" style="background-image: url('{{ $firstImage->images[0] }}'); background-size: cover; background-position: center; height: auto; ">
<div
class="main-slider-two__carousel owl-carousel owl-theme thm-owl__carousel"
data-owl-options='{
"loop": true,
"items": 1,
"navText": ["<span class=\"icon-prev\"></span>","<span class=\"icon-next\"></span>"],
"margin": 0,
"dots": true,
"nav": false,
"animateOut": "slideOutDown",
"animateIn": "fadeIn",
"smartSpeed": 1000,
{{-- "autoplay": true, --}}
"autoplayTimeout": 7000,
"autoplayHoverPause": false
}'>
@foreach($sliders as $slider)
<div class="item main-slider-two__slide-{{ $loop->iteration }}">
<div class="main-slider-two__bg">
<div class="slide-owl-wrap">
{{-- <img src="rohini/assets/images/gallery/Slider-a (1).png" alt="Slide {{ $loop->iteration }}"> --}}
<img src="{{ $slider->images[0] }}" alt="Slide {{ $loop->iteration }}">
</div>
</div>
<div class="container">
{{-- <div class="main-slider-two__content">
<h2 class="main-slider-two__title">
{!! implode(' ', array_slice(explode(' ', $slider->title), 0, 3))
. '<br>' .
implode(' ', array_slice(explode(' ', $slider->title), 3)) !!}
</h2>
<div class="main-slider-two__btn-box">
<a href="{{ route('page.load', 'contact') }}" class="main-slider-two__btn thm-btn">
<span class="icon-right-arrow"></span> Contact Us
</a>
</div>
</div> --}}
</div>
</div>
@endforeach
</div>
</section>
@push('js')
<script>
$(document).ready(function(){
var $c = $('.main-slider-two__carousel');
// Initialize using your data-owl-options
$c.owlCarousel($c.data('owl-options'));
// Owl adds .owl-loaded when its done — CSS will flip visibility.
});
</script>
@endpush

View File

@@ -0,0 +1,69 @@
@if ($page->children->count() > 4)
@php
$testimonialpage = $page->children[4];
@endphp
<!-- Testimonial One Start -->
<section class="testimonial-one">
<div class="container">
<div class="testimonial-one__inner">
<div class="testimonial-one__main-content">
<div class="swiper-container" id="testimonial-one__carousel">
<div class="swiper-wrapper">
@foreach ($testimonials as $testimonial)
<div class="swiper-slide">
<div class="testimonial-one__main-content-inner">
<div class="row">
<div class="col-xl-5 col-lg-5">
<div class="testimonial-one__left">
<div class="testimonial-one__img"> <img
src="{{ $testimonial->image }}" alt=""> </div>
</div>
</div>
<div class="col-xl-7 col-lg-7">
<div class="testimonial-one__right">
<div class="section-title text-left">
<div class="section-title__tagline-box"> <span
class="section-title__tagline">{{ $testimonialpage->title }}</span>
</div>
<h2 class="section-title__title">
{{ $testimonialpage->short_description }}</h2>
</div>
<p class="testimonial-one__text">{!! $testimonial->description !!}</p>
<div class="testimonial-one__client-info">
<h3>{{ $testimonial->title }}</h3>
<p>{{ $testimonial->designation }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
<div class="testimonial-one__nav">
<div class="swiper-button-prev" id="testimonial-one__swiper-button-prev"> <i
class="icon-prev navigation"></i> </div>
<div class="swiper-button-next" id="testimonial-one__swiper-button-next"> <i
class="icon-next navigation"></i> </div>
</div>
</div>
<div class="testimonial-one__thumb-box">
<div class="swiper-container" id="testimonial-one__thumb">
<div class="swiper-wrapper">
@foreach ($testimonials as $testimonial)
<div class="swiper-slide">
<div class="testimonial-one__img-holder-box">
<div class="testimonial-one__img-holder"> <img src="{{ $testimonial->image }}"
alt=""> </div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Testimonial One End -->
@endif

View File

@@ -0,0 +1,80 @@
@if ($page->children->count() > 3)
@php
$study = $page->children[3];
@endphp
<!--Brand One Start-->
<section class="brand-one">
<div class="container">
<div class="brand-one__text-box count-box">
<h3 class="text-center ">{!! implode(' ', array_slice(explode(' ', $study->title), 0, 4)) .'<br>' .implode(' ', array_slice(explode(' ', $study->title), 4)) !!}</h3>
</div>
<div class="brand-one__carousel thm-owl__carousel owl-theme owl-carousel" data-owl-options='{
"items": 3,
"margin": 10,
"smartSpeed": 700,
"loop":true,
"autoplay":true,
"nav":false,
"dots":false,
"navText": ["<span class=\"fa fa-angle-left\"></span>","<span class=\"fa fa-angle-right\"></span>"],
"responsive":{
"0":{
"items":2
},
"768":{
"items":3
},
"992":{
"items": 5
}
}
}'>
<!--Brand One Single Start-->
@foreach($study->images as $photo)
<div class="item">
<div class="brand-one__single">
<div class="brand-one__img"> <img class="uni-logo" src="{{ $photo }}" alt="" > </div>
{{-- <div class="brand-one__hover-img"> <img class="uni-logo" src="{{ $photo }}" alt=""> </div> --}}
</div>
</div>
@endforeach
<!--Brand One Single End-->
<!--Brand One Single Start-->
{{-- <div class="item">
<div class="brand-one__single">
<div class="brand-one__img"> <img src="assets/images/brand/brand-1-2.png" alt=""> </div>
<div class="brand-one__hover-img"> <img src="assets/images/brand/brand-hover-1-2.png" alt=""> </div>
</div>
</div> --}}
<!--Brand One Single End-->
<!--Brand One Single Start-->
{{-- <div class="item">
<div class="brand-one__single">
<div class="brand-one__img"> <img src="assets/images/brand/brand-1-3.png" alt=""> </div>
<div class="brand-one__hover-img"> <img src="assets/images/brand/brand-hover-1-3.png" alt=""> </div>
</div>
</div> --}}
<!--Brand One Single End-->
<!--Brand One Single Start-->
{{-- <div class="item">
<div class="brand-one__single">
<div class="brand-one__img"> <img src="assets/images/brand/brand-1-4.png" alt=""> </div>
<div class="brand-one__hover-img"> <img src="assets/images/brand/brand-hover-1-4.png" alt=""> </div>
</div>
</div> --}}
<!--Brand One Single End-->
<!--Brand One Single Start-->
{{-- <div class="item">
<div class="brand-one__single">
<div class="brand-one__img"> <img src="assets/images/brand/brand-1-5.png" alt=""> </div>
<div class="brand-one__hover-img"> <img src="assets/images/brand/brand-hover-1-5.png" alt=""> </div>
</div>
</div> --}}
<!--Brand One Single End-->
</div>
<!-- If we need navigation buttons -->
</div>
</section>
<!--Brand One End-->
@endif

View File

@@ -0,0 +1,71 @@
@if (!isset($visapage) && $page->children->count() > 5)
@php
$visapage = $page->children[5];
@endphp
@endif
@isset($visas)
@php
$visaGalleries = $visas;
@endphp
@endisset
@if (isset($visapage))
<!-- Project One Start -->
<section class="project-one section-bg section-pd">
<div class="container">
<div class="section-title text-center">
<h2 class="section-title__title">{{ $visapage->short_description }}</h2>
</div>
<div class="project-one__bottom">
<div class="project-one__carousel owl-carousel owl-theme thm-owl__carousel"
data-owl-options='{
"loop": true,
"autoplay": false,
"margin": 30,
"nav": false,
"dots": false,
"smartSpeed": 500,
"autoplayTimeout": 10000,
"navText": ["<span class=\"fas fa-long-arrow-alt-left\"></span>","<span class=\"fas fa-long-arrow-alt-right\"></span>"],
"responsive": {
"0": { "items": 1 },
"768": { "items": 2 },
"992": { "items": 2 },
"1290": { "items": 3 }
}
}'>
@php
$galleries = $visaGalleries->galleries ?? [];
@endphp
@foreach ($galleries as $visa)
<div class="project-one__single">
<div class="project-one__img-box">
<div class="project-one__img">
<img src="{{ $visa->images[0] }}"
alt="Gallery Image" style="height:auto;">
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</section>
<!-- Project One End -->
@endif
{{-- <script>
$('.thm-owl__carousel').each(function () {
var $this = $(this);
var options = $this.data('owl-options');
$this.owlCarousel(options);
});
</script> --}}

View File

@@ -0,0 +1,210 @@
<style>
/* Sticky Sidebar States */
@media(min-width:992px){
#stickySidebar {
position: static;
width: 420px !important;
transition: all 0.3s ease;
}
#stickySidebar.is-fixed {
position: fixed;
top: 11px; /* distance from top */
width: 350px;
z-index: 10;
}
#stickySidebar.is-bottom {
position: absolute;
top: auto;
bottom: 20px;
width: 100%;
}
}
</style>
@extends('client.rohini.layouts.app')
@section('content')
<!-- Page Header Start -->
<section class="page-header">
<div class="page-header__bg" style="background-image: url('{{ $page->banner }}');"></div>
<div class="container">
<div class="page-header__inner">
<div class="thm-breadcrumb__box">
<ul class="thm-breadcrumb list-unstyled">
<li><a href="{{ route('home') }}">Home</a></li>
<li><span>-</span></li>
<li>Service Details</li>
</ul>
</div>
<h2>{{ $page->title }}</h2>
</div>
</div>
</section>
<!-- Page Header End -->
<!-- Blog Details Start -->
<section class="blog-details">
<div class="container">
<div class="row">
<div class="col-xl-8 col-lg-7">
<div class="blog-details__left">
<div class="blog-details__content-one">
<div class="blog-details__content-one-img">
<img src="{{ $page->image }}" alt="{{ $page->title }}"
style="width: 100%; height:100%; object-fit:cover; object-position:top;">
</div>
<br>
<div>{!! $page->description !!}</div>
</div>
@foreach ($page->children as $child)
<div>{!! $child->description !!}</div>
@endforeach
@if ($serviceFAQs && $serviceFAQs->faqs->count() > 0)
<div class="service-text-box faq">
<h2 class="heading">Frequently Asked Questions</h2>
<div class="accordion" id="accordionFAQ">
@foreach ($serviceFAQs->faqs as $index => $faq)
<div class="accordion-item">
<h2 class="accordion-header" id="headingFAQ{{ $index }}">
<button class="accordion-button {{ $index > 0 ? 'collapsed' : '' }}"
type="button" data-bs-toggle="collapse"
data-bs-target="#collapseFAQ{{ $index }}"
aria-expanded="{{ $index === 0 ? 'true' : 'false' }}"
aria-controls="collapseFAQ{{ $index }}">
<p class="numbering">{{ $loop->iteration }}</p>
{{ $faq->title }}
</button>
</h2>
<div id="collapseFAQ{{ $index }}"
class="accordion-collapse collapse {{ $index === 0 ? 'show' : '' }}"
aria-labelledby="headingFAQ{{ $index }}"
data-bs-parent="#accordionFAQ">
<div class="accordion-body">
{!! $faq->description !!}
</div>
</div>
</div>
@endforeach
</div>
</div>
@endif
</div>
</div>
{{-- Sidebar --}}
<div class="col-xl-4 col-lg-5">
<div class="sticky-wrapper">
<div id="stickySidebar" class="sidebar">
{{-- Categories --}}
<div class="sidebar__single sidebar__category">
<div class="sidebar__title-box">
<h3 class="sidebar__title">Categories</h3>
</div>
<ul class="sidebar__category-list list-unstyled">
@foreach ($allServices as $service)
<li>
<a href="{{ route('service.single', $service->slug) }}">
{{ $service->title }} <span class="icon-right-arrow-1"></span>
</a>
</li>
@endforeach
</ul>
</div>
{{-- Facebook Page --}}
<div class="sidebar__single sidebar__gallery">
<div class="sidebar__title-box">
<h3 class="sidebar__title">Social Media</h3>
</div>
<div class="fb-page"
data-href="{{ setting('facebook') }}"
data-tabs="timeline"
data-width="323"
data-height="430"
data-small-header="false"
data-adapt-container-width="true"
data-hide-cover="false"
data-show-facepile="false">
</div>
</div>
{{-- Support Box --}}
<div class="sidebar__single sidebar__support">
<div class="sidebar__support-bg"
style="background-image: url('{{ asset('rohini/assets/images/backgrounds/sidebar-support-bg.jpg') }}');">
</div>
<div class="sidebar__support-icon">
<span class="icon-icon-call"></span>
</div>
<h3 class="sidebar__support-title">Get quality <br> consultancy <br> services</h3>
<div class="sidebar__support-btn-box">
<a href="{{ route('page.load', 'contact') }}" class="sidebar__support-btn thm-btn">
<span class="icon-right-arrow"></span> Direct Contact
</a>
</div>
</div>
</div>`
</div>`
</div>
</div>
</div>
</section>
<!-- Blog Details End -->
@include('client.rohini.pages.partials.newsletter')
@endsection
<script>
document.addEventListener('DOMContentLoaded', function() {
const sidebar = document.getElementById('stickySidebar');
const wrapper = sidebar.parentElement;
const footer = document.querySelector('footer'); // adjust selector if needed
const topOffset = 20; // px gap from top when fixed
if (!sidebar || !wrapper || !footer) return;
// capture wrappers initial top and width
let wrapperTop = wrapper.getBoundingClientRect().top + window.scrollY;
let wrapperWidth = wrapper.offsetWidth;
function refreshMeasurements() {
wrapperTop = wrapper.getBoundingClientRect().top + window.scrollY;
wrapperWidth = wrapper.offsetWidth;
}
window.addEventListener('resize', refreshMeasurements);
function onScroll() {
const scrollY = window.scrollY;
const footerTop = footer.getBoundingClientRect().top + window.scrollY;
const sidebarH = sidebar.offsetHeight;
// If we've scrolled past the wrapper and haven't hit the footer yet
if (scrollY + topOffset >= wrapperTop && scrollY + topOffset + sidebarH < footerTop) {
sidebar.classList.add('is-fixed');
sidebar.classList.remove('is-bottom');
sidebar.style.width = wrapperWidth + 'px';
}
// If wed overlap the footer, “pin” it at the bottom of the wrapper
else if (scrollY + topOffset + sidebarH >= footerTop) {
sidebar.classList.remove('is-fixed');
sidebar.classList.add('is-bottom');
sidebar.style.width = wrapperWidth + 'px';
}
// Otherwise return to normal flow
else {
sidebar.classList.remove('is-fixed', 'is-bottom');
sidebar.style.width = '100%';
}
}
window.addEventListener('scroll', onScroll);
// initialize on load
refreshMeasurements();
onScroll();
});
</script>

View File

@@ -0,0 +1,162 @@
@extends('client.rohini.layouts.app')
@section('content')
<div class="page-wrapper">
@include('client.rohini.pages.partials.breadcrumb')
<!--Services Details Start-->
<section class="services-details">
<div class="container">
<div class="row">
<div class="col-xl-3 col-lg-4">
<div class="services-details__left">
<div class="services-details__services-box">
<ul class="services-details__services-list list-unstyled">
@php
$allpages = getPageWithChildrenBySlug(parent:null , slug:"study-in-nz", order:"asc")
@endphp
@foreach($allpages->children as $side)
<li>
<a href="{{ route('page.load',$side->slug) }}">{{ $side->title }}<span
class="icon-right-arrow-1"></span></a>
</li>
@endforeach
<!--<li>-->
<!-- <a href="residency.php">Residency Prospects<span-->
<!-- class="icon-right-arrow-1"></span></a>-->
<!--</li>-->
</ul>
</div>
<div class="services-details__contact">
<h3 class="services-details__contact-title">Contact us</h3>
<ul class="services-details__contact-list list-unstyled">
<li>
<div class="icon">
<span class="icon-location"></span>
</div>
<p>{{ setting('location') }}</p>
</li>
<li>
<div class="icon">
<span class="icon-phone-call"></span>
</div>
<p><a href="tel:{{ setting('phone') }}">{{ setting('phone') }}</a></p>
</li>
<li>
<div class="icon">
<span class="icon-envelope"></span>
</div>
<p><a href="mailto:{{ setting('email') }}">{{ setting('email') }}</a></p>
</li>
<li>
<div class="icon">
<span class="icon-planning"></span>
</div>
<p>{{ setting('working_days') }} : {{ setting('working_hours') }}
</p>
</li>
</ul>
</div>
</div>
</div>
<div class="col-xl-9 col-lg-8">
<div class="services-details__right">
<div class="services-details__img">
<img src="{{ $page->image }}" alt="">
</div>
<h3 class="services-details__title-1">{{$page->short_title}}</h3>
<p class="services-details__text-1">{!! $page->description !!}</p>
@if(isset($page->children[0]))
@php
$first = $page->children[0];
@endphp
<div class="services-details__img-and-feature">
@if($first->getRawOriginal('image'))
<div class="services-details__feature-img">
<img src="{{ $first->image }}" alt="">
<div class="services-details__video-link">
<a href="{{ $first->link }}" class="video-popup">
<div class="services-details__video-icon">
<span class="fa fa-play"></span>
<i class="ripple"></i>
</div>
</a>
</div>
</div>
@endif
<div class="services-details__feature">
<h3 class="services-details__feature-title">{{ $first->title }}</h3>
<p class="services-details__feature-text">{{$first->short_description}}</p>
<ul class="services-details__feature-points list-unstyled">
@foreach($first->custom as $feature)
<li>
<div class="icon">
<span class="{{ $feature['symbol'] }}"></span>
</div>
<div class="content">
<h3>{{ $feature['key'] }}</h3>
<p>{{$feature['value']}}</p>
</div>
</li>
@endforeach
</ul>
</div>
</div>
{!! $first->description !!}
@endif
@if(isset($page->children[1]))
@php
$second = $page->children[1];
@endphp
<h3 class="services-details__title-3">{{ $second->title }}</h3>
<div class="process-four">
<div class="row">
<!--Process Four Single Start-->
@foreach($second->custom as $process)
<div class="col-xl-3">
<div class="process-four__single">
<div class="process-four__shape-1"></div>
<div class="process-four__count"></div>
<h3 class="process-four__title">{{ $process['key'] }}</h3>
<p class="process-four__text">{{$process['value']}}</p>
</div>
</div>
@endforeach
<!--Process Four Single End-->
</div>
</div>
@endif
@php
$articleFaqs = getFAQsByCategory(limit: null, order: 'desc', category: $page->slug);
@endphp
@if(isset($articleFaqs))
<h3 class="services-details__title-4">Frequently Asked Questions</h3>
<div class="services-details__faq">
<div class="accrodion-grp" data-grp-name="services-details-accrodion">
@foreach($articleFaqs->faqs as $faq)
<!-- Question 1 -->
<div class="accrodion">
<div class="accrodion-title">
<h4><span>Q{{ $loop->iteration }}.</span> {{ $faq->title }}</h4>
</div>
<div class="accrodion-content">
<div class="inner">
<p>{{ $faq->description }}</p>
</div><!-- /.inner -->
</div>
</div>
@endforeach
</div>
</div>
@endif
</div>
</div>
</div>
</div>
</section>
<!--Services Details End-->
@include('client.rohini.pages.partials.newsletter')
@endsection

View File

@@ -0,0 +1,48 @@
@php
$testimonials = getTestimonials(limit: 6, order: 'desc');
$visas = getGalleriesByCategory(limit: null, order: 'asc', category: 'visa-success');
@endphp
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.breadcrumb')
{{-- <h2 style="text-align:center; padding:30px; color:#dc0f18; font-size:40px">Hear About Us</h2> --}}
<!--Testimonials Page Start-->
<section class="testimonials-page">
<div class="container">
<div class="row">
<!--Testimonial Two Single Start-->
@foreach($testimonials as $testimony)
<div class="col-xl-4 col-lg-6 col-md-6 " style="margin-bottom: 85px">
<div class="testimonial-two__single">
<div class="testimonial-two__img">
<img src="{{ $testimony->image }}" style="height: 120px; width:120px; object-fit:cover;" alt="">
</div>
<div class="testimonial-two__shape-1">
<img src="rohini/assets/images/shapes/testimonial-two-shape-1.png" alt="">
</div>
<h3 class="testimonial-two__name"><a href="testimonials.html">{{ $testimony->name }}</a></h3>
<p class="testimonial-two__sub-title">{{ $testimony->designation }}</p>
<p class="testimonial-two__text">{!! $testimony->description !!}
</p>
</div>
</div>
@endforeach
<!--Testimonial Two Single End-->
</div>
</div>
</section>
<!--Testimonials Page End-->
@if ($page->children->count() > 0)
@php
$visapage = $page->children[0];
@endphp
@include('client.rohini.pages.partials.visa',[$visapage, $visas])
@endif
@include('client.rohini.pages.partials.newsletter')
@endsection

View File

@@ -0,0 +1,78 @@
@php
$teams = getTeams(limit: null, order: 'asc');
@endphp
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.breadcrumb')
<!--Team Page Start-->
<section class="team-page">
<div class="team-page__bg" style="background-image: url('assets/images/shapes/team-page-shape-1.png');"></div>
<div class="container">
<div class="section-title-two text-center">
<div class="section-title-two__tagline-box">
<p style="font-size:17px" class="section-title-two__tagline">{{ $page->short_description }}</p>
<div class="section-title-two__shape">
<img src="assets/images/shapes/section-title-two-shape.png" alt="">
</div>
</div>
<h2 class="section-title-two__title">{!! $page->description !!}</h2>
</div>
<div class="row">
<!--Team Two Single Start-->
@foreach($teams as $team)
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="team-two__single">
<div class="team-two__img-box">
<div class="team-two__img">
<img src="{{ $team->image }}" alt="">
</div>
@if($team->facebook || $team->twitter || $team->linkedin)
<div class="team-two__social">
<ul class="clearfix list-unstyled">
@if($team->linkedin)
<li>
<a href="{{ $team->linkedin }}" target="_blank">
<i class="icon-linked-in-logo-of-two-letters"></i>
</a>
</li>
@endif
@if($team->twitter)
<li>
<a href="{{ $team->twitter }}" target="_blank">
<i class="icon-twitter"></i>
</a>
</li>
@endif
@if($team->facebook)
<li>
<a href="{{ $team->facebook }}" target="_blank">
<i class="icon-facebook-app-symbol"></i>
</a>
</li>
@endif
</ul>
<span class="icon-share"></span>
</div>
@endif
</div>
<div class="team-two__content">
<h3 class="team-two__name"><a href="javascript:void(0);">{{ $team->title }}</a></h3>
<p class="team-two__sub-title">{{ $team->designation }}</p>
</div>
</div>
</div>
@endforeach
<!--Team Two Single End-->
</div>
</div>
</section>
<!--Team Page End-->
<!--Join Team One Start-->
<!--Join Team One End-->
@include('client.rohini.pages.partials.newsletter')
@endsection

View File

@@ -0,0 +1,140 @@
@extends('client.rohini.layouts.app')
@section('content')
@include('client.rohini.pages.partials.breadcrumb')
<!--Services Details Start-->
<section class="services-details">
<div class="container">
<div class="row">
<div class="col-xl-3 col-lg-4">
<div class="services-details__left">
<div class="services-details__services-box">
<ul class="services-details__services-list list-unstyled">
@foreach ($allTests as $class)
<li @if ($class->slug == $page->slug) class="active" @endif>
<a href="{{ route('test.single', $class->slug) }}">{{ $class->title }}<span
class="icon-right-arrow-1"></span></a>
</li>
@endforeach
</ul>
</div>
<div class="services-details__contact">
<h3 class="services-details__contact-title">Contact us</h3>
<ul class="services-details__contact-list list-unstyled">
<li>
<div class="icon">
<span class="icon-location"></span>
</div>
<p>{{ setting('location') }}</p>
</li>
<li>
<div class="icon">
<span class="icon-phone-call"></span>
</div>
<p><a href="tel:{{ setting('phone') }}">{{ setting('phone') }}</a></p>
</li>
<li>
<div class="icon">
<span class="icon-envelope"></span>
</div>
<p><a href="mailto:{{ setting('email') }}">{{ setting('email') }}</a></p>
</li>
<li>
<div class="icon">
<span class="icon-planning"></span>
</div>
<p>{{ setting('working_days') }}: {{ setting('working_hours') }}</p>
</li>
</ul>
</div>
</div>
</div>
<div class="col-xl-9 col-lg-8">
<div class="services-details__right">
<div class="services-details__img">
<img src="{{ $page->image }}" alt="">
</div>
<h3 class="services-details__title-1">{{ $page->short_description }}</h3>
<p class="services-details__text-1">{!! $page->description !!}</p>
@if(isset($children[0]))
<div class="services-details__img-and-feature">
<div class="services-details__feature-img">
<img src="{{ $children[0]->image }}" alt="">
<div class="services-details__video-link">
<a href="{{ $children[0]->button_url }}" class="video-popup">
<div class="services-details__video-icon">
<span class="fa fa-play"></span>
<i class="ripple"></i>
</div>
</a>
</div>
</div>
<div class="services-details__feature">
<h3 class="services-details__feature-title">{{ $children[0]->title }}</h3>
<p class="services-details__feature-text">{{ $children[0]->short_description }}</p>
<ul class="services-details__feature-points list-unstyled">
@foreach ($children[0]->custom as $feature)
<li>
<div class="icon">
<span class="{{ $feature['symbol'] }}"></span>
</div>
<div class="content">
<h3>{{ $feature['key'] }}</h3>
<p>{{ $feature['value'] }}</p>
</div>
</li>
@endforeach
</ul>
</div>
</div>
{!! $children[0]->description !!}
@endif
@if(isset($children[1]))
<h3 class="services-details__title-3">{{ $children[1]->title }}</h3>
<div class="process-four">
<div class="row">
<!--Process Four Single Start-->
@foreach ($children[1]->custom as $work)
<div class="col-xl-3">
<div class="process-four__single">
<div class="process-four__shape-1"></div>
<div class="process-four__count"></div>
<h3 class="process-four__title">{{ $work['key'] }}</h3>
<p class="process-four__text">{{ $work['value'] }}</p>
</div>
</div>
@endforeach
<!--Process Four Single End-->
</div>
</div>
@endif
@if(isset($testFAQs))
<h3 class="services-details__title-4">Frequently asked questions</h3>
<div class="services-details__faq">
<div class="accrodion-grp" data-grp-name="services-details-accrodion">
@foreach ($testFAQs->faqs as $faq)
<div class="accrodion">
<div class="accrodion-title">
<h4><span>Q{{ $loop->iteration }}.</span>{{ $faq->title }}</h4>
</div>
<div class="accrodion-content">
<div class="inner">
<p>{{ $faq->description }}</p>
</div><!-- /.inner -->
</div>
</div>
@endforeach
</div>
</div>
@endif
</div>
</div>
</div>
</div>
</section>
<!--Services Details End-->
@include('client.rohini.pages.partials.newsletter')
@endsection

View File

@@ -0,0 +1,7 @@
@props(['status'])
@if ($status)
<div {{ $attributes->merge(['class' => 'font-medium text-sm text-green-600']) }}>
{{ $status }}
</div>
@endif

View File

@@ -0,0 +1,19 @@
<div class="navbar-brand-box horizontal-logo">
<a href="{{ route('dashboard') }}" class="logo logo-dark">
<span class="logo-sm">
<img src="{{ asset(setting('favicon')) }}" alt="" height="22">
</span>
<span class="logo-lg">
<img src="{{ asset(setting('logo')) }}" alt="" height="17">
</span>
</a>
<a href="{{ route('dashboard') }}" class="logo logo-light">
<span class="logo-sm">
<img src="{{ asset(setting('favicon')) }}" alt="" height="22">
</span>
<span class="logo-lg">
<img src="{{ asset(setting('logo_white')) }}" alt="" height="17">
</span>
</a>
</div>

View File

@@ -0,0 +1,14 @@
@props(['title' => 'Dashboard'])
<div class="row">
<div class="col-12">
<div class="page-title-box d-sm-flex align-items-center justify-content-between">
<h4 class="mb-sm-0">{{ $title }}</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">CCMS</a></li>
<li class="breadcrumb-item active">{{ $title }}</li>
</ol>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,14 @@
<footer class="footer">
<div class="container-fluid">
<div class="row">
<div class="col-sm-6">
{{ date('Y') }} © Consultancy All in one solutions.
</div>
<div class="col-sm-6">
<div class="text-sm-end d-none d-sm-block">
Design & Develop by Bibhuti Solutions
</div>
</div>
</div>
</div>
</footer>

View File

@@ -0,0 +1,178 @@
<header id="page-topbar">
<div class="layout-width">
<div class="navbar-header">
<div class="d-flex">
<!-- LOGO -->
<x-dashboard.application-logo />
<button type="button" class="btn btn-sm px-3 fs-16 header-item vertical-menu-btn topnav-hamburger"
id="topnav-hamburger-icon">
<span class="hamburger-icon">
<span></span>
<span></span>
<span></span>
</span>
</button>
</div>
<div class="d-flex align-items-center">
<div class="dropdown d-md-none topbar-head-dropdown header-item">
<button type="button" class="btn btn-icon btn-topbar btn-ghost-secondary rounded-circle"
id="page-header-search-dropdown" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="bx bx-search fs-22"></i>
</button>
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-end p-0"
aria-labelledby="page-header-search-dropdown">
<form class="p-3">
<div class="form-group m-0">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search ..."
aria-label="Recipient's username">
<button class="btn btn-primary" type="submit"><i
class="mdi mdi-magnify"></i></button>
</div>
</div>
</form>
</div>
</div>
<div class="ms-1 header-item d-none d-sm-flex">
<button type="button" class="btn btn-icon btn-topbar btn-ghost-secondary rounded-circle"
data-toggle="fullscreen">
<i class='bx bx-fullscreen fs-22'></i>
</button>
</div>
<div class="ms-1 header-item d-none d-sm-flex">
<button type="button"
class="btn btn-icon btn-topbar btn-ghost-secondary rounded-circle light-dark-mode">
<i class='bx bx-moon fs-22'></i>
</button>
</div>
<div class="dropdown topbar-head-dropdown ms-1 header-item" id="notificationDropdown">
{{-- <button type="button" class="btn btn-icon btn-topbar btn-ghost-secondary rounded-circle"
id="page-header-notifications-dropdown" data-bs-toggle="dropdown" data-bs-auto-close="outside"
aria-haspopup="true" aria-expanded="false">
<i class='bx bx-bell fs-22'></i>
<span
class="position-absolute topbar-badge fs-10 translate-middle badge rounded-pill bg-danger">3<span
class="visually-hidden">unread messages</span></span>
</button> --}}
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-end p-0"
aria-labelledby="page-header-notifications-dropdown">
<div class="dropdown-head bg-primary bg-pattern rounded-top">
<div class="p-3">
<div class="row align-items-center">
<div class="col">
<h6 class="m-0 fs-16 fw-semibold text-white"> Notifications </h6>
</div>
<div class="col-auto dropdown-tabs">
<span class="badge bg-light-subtle text-body fs-13"> 4 New</span>
</div>
</div>
</div>
<div class="px-2 pt-2">
<ul class="nav nav-tabs dropdown-tabs nav-tabs-custom" data-dropdown-tabs="true"
id="notificationItemsTab" role="tablist">
<li class="nav-item waves-effect waves-light">
<a class="nav-link active" data-bs-toggle="tab" href="#all-noti-tab"
role="tab" aria-selected="true">
All (4)
</a>
</li>
{{-- <li class="nav-item waves-effect waves-light">
<a class="nav-link" data-bs-toggle="tab" href="#messages-tab" role="tab"
aria-selected="false">
Messages
</a>
</li> --}}
</ul>
</div>
</div>
<div class="tab-content position-relative" id="notificationItemsTabContent">
<div class="tab-pane fade show active py-2 ps-2" id="all-noti-tab" role="tabpanel">
<div data-simplebar style="max-height: 300px;" class="pe-2">
<div class="text-reset notification-item d-block dropdown-item position-relative">
<div class="d-flex">
<img src="{{ asset('assets/images/users/avatar-8.jpg') }}"
class="me-3 rounded-circle avatar-xs flex-shrink-0" alt="user-pic">
<div class="flex-grow-1">
<a href="#!" class="stretched-link">
<h6 class="mt-0 mb-1 fs-13 fw-semibold">Maureen Gibson</h6>
</a>
<div class="fs-13 text-muted">
<p class="mb-1">We talked about a project on linkedin.</p>
</div>
<p class="mb-0 fs-11 fw-medium text-uppercase text-muted">
<span><i class="mdi mdi-clock-outline"></i> 4 hrs ago</span>
</p>
</div>
<div class="px-2 fs-15">
<div class="form-check notification-check">
<input class="form-check-input" type="checkbox" value=""
id="all-notification-check04">
<label class="form-check-label"
for="all-notification-check04"></label>
</div>
</div>
</div>
</div>
<div class="my-3 text-center view-all">
<button type="button"
class="btn btn-soft-success waves-effect waves-light">View
All Notifications <i class="ri-arrow-right-line align-middle"></i></button>
</div>
</div>
<div class="notification-actions" id="notification-actions">
<div class="d-flex text-muted justify-content-center">
Select <div id="select-content" class="text-body fw-semibold px-1">0</div>
Result
<button type="button" class="btn btn-link link-danger p-0 ms-3"
data-bs-toggle="modal"
data-bs-target="#removeNotificationModal">Remove</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="dropdown ms-sm-3 header-item topbar-user">
<button type="button" class="btn" id="page-header-user-dropdown" data-bs-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
<span class="d-flex align-items-center">
<img class="rounded-circle header-profile-user"
src="{{ asset('assets/images/avatar.png') }}" alt="Header Avatar">
<span class="text-start ms-xl-2">
<span
class="d-none d-xl-inline-block ms-1 fw-medium user-name-text">{{ auth()->user()->name }}</span>
<span
class="d-none d-xl-block ms-1 fs-12 user-name-sub-text">{{ auth()->user()->roles?->name }}</span>
</span>
</span>
</button>
<div class="dropdown-menu dropdown-menu-end">
<!-- item-->
<h6 class="dropdown-header">Welcome {{ auth()->user()->name }}!</h6>
<a class="dropdown-item" href="javascript:void(0)"
onclick="event.preventDefault(); $('#logout-form').submit();"><i
class="mdi mdi-logout text-muted fs-16 align-middle me-1"></i> <span
class="align-middle" data-key="t-logout">Logout</span></a>
<form id="logout-form" method="POST" action="{{ route('logout') }}">
@csrf
</form>
</div>
</div>
</div>
</div>
</div>
</header>

View File

@@ -0,0 +1,7 @@
<div id="preloader">
<div id="status">
<div class="spinner-border text-primary avatar-sm" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
</div>

View File

@@ -0,0 +1,24 @@
<!-- removeNotificationModal -->
<div id="removeNotificationModal" class="modal fade zoomIn" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" id="NotificationModalbtn-close"></button>
</div>
<div class="modal-body">
<div class="mt-2 text-center">
<lord-icon src="https://cdn.lordicon.com/gsqxdxog.json" trigger="loop" colors="primary:#f7b84b,secondary:#f06548" style="width:100px;height:100px"></lord-icon>
<div class="mt-4 pt-2 fs-15 mx-4 mx-sm-5">
<h4>Are you sure ?</h4>
<p class="text-muted mx-4 mb-0">Are you sure you want to remove this Notification ?</p>
</div>
</div>
<div class="d-flex gap-2 justify-content-center mt-4 mb-2">
<button type="button" class="btn w-sm btn-light" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn w-sm btn-danger" id="delete-notification">Yes, Delete It!</button>
</div>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->

View File

@@ -0,0 +1,65 @@
@php
function isMenuVisible($menu) {
if (array_key_exists('module', $menu) && !empty($menu['module'])) {
if (!Module::isModuleEnabled($menu['module'])) return false;
}
if (array_key_exists('can', $menu) && !empty($menu['can'])) {
return auth()->user()->can($menu['can']);
}
return true;
}
function isSubmenuVisible($submenu) {
return !array_key_exists('can', $submenu) || empty($submenu['can']) || auth()->user()->can($submenu['can']);
}
@endphp
@foreach ($menus as $menu)
@if (isMenuVisible($menu))
@if (array_key_exists('menu-title', $menu))
<li class="menu-title">
<i class="ri-more-fill"></i>
<span>{{ $menu['menu-title'] }}</span>
</li>
@else
<li class="nav-item">
@if (array_key_exists('submenu', $menu))
@php
$menuList = array_column($menu['submenu'], 'url');
$isActive = in_array(\Request::path(), $menuList);
@endphp
<a class="nav-link menu-link @if ($isActive) collapsed active @endif"
data-bs-toggle="collapse" role="button" aria-expanded="false"
aria-controls="{{ str()->slug($menu['text']) }}"
href="#{{ str()->slug($menu['text']) }}">
<i class="{{ $menu['icon'] }}"></i><span data-key="t-{{ str()->slug($menu['text']) }}">{{ $menu['text'] }}</span>
</a>
<div class="menu-dropdown @if ($isActive) show @endif collapse"
id="{{ str()->slug($menu['text']) }}">
<ul class="nav nav-sm flex-column">
@foreach ($menu['submenu'] as $subMenu)
@if (isSubmenuVisible($subMenu))
<li class="nav-item">
<a href="{{ url($subMenu['url']) }}"
class="nav-link @if (\Request::is($subMenu['url']) || \Request::is($subMenu['url'] . '/*')) active @endif">
{{ $subMenu['text'] }}
</a>
</li>
@endif
@endforeach
</ul>
</div>
@else
<a href="{{ url($menu['url']) ?? '#' }}"
class="nav-link @if (\Request::is($menu['url']) || \Request::is($menu['url'] . '/*')) active @endif">
<i class="{{ $menu['icon'] }}"></i><span data-key="t-{{ str()->slug($menu['text']) }}">{{ $menu['text'] }}</span>
</a>
@endif
</li>
@endif
@endif
@endforeach

View File

@@ -0,0 +1,40 @@
<div class="app-menu navbar-menu">
<!-- LOGO -->
<div class="navbar-brand-box">
<!-- Dark Logo-->
<a href="{{ route('dashboard')}}" class="logo logo-dark">
<span class="logo-sm">
<img src="{{ asset(setting('favicon')) }}" alt="" height="22">
</span>
<span class="logo-lg">
<img class="dark-login" src="{{ asset(setting('logo')) }}" alt="">
</span>
</a>
<!-- Light Logo-->
<a href="{{ route('dashboard')}}" class="logo logo-light">
<span class="logo-sm">
<img src="{{ asset(setting('favicon')) }}" alt="" height="22">
</span>
<span class="logo-lg">
<img class="light-login" src="{{ asset(setting('logo')) }}" alt="">
</span>
</a>
<button type="button" class="btn btn-sm p-0 fs-20 header-item float-end btn-vertical-sm-hover" id="vertical-hover">
<i class="ri-record-circle-line"></i>
</button>
</div>
<div id="scrollbar">
<div class="container-fluid">
<div id="two-column-menu">
</div>
<ul class="navbar-nav" id="navbar-nav">
{!! Module::sidebarMenu() !!}
</ul>
</div>
<!-- Sidebar -->
</div>
<div class="sidebar-background"></div>
</div>

View File

@@ -0,0 +1,740 @@
<div class="customizer-setting d-none d-md-block">
<div class="btn-info rounded-pill shadow-lg btn btn-icon btn-lg p-2" data-bs-toggle="offcanvas" data-bs-target="#theme-settings-offcanvas" aria-controls="theme-settings-offcanvas">
<i class='mdi mdi-spin mdi-cog-outline fs-22'></i>
</div>
</div>
<!-- Theme Settings -->
<div class="offcanvas offcanvas-end border-0" tabindex="-1" id="theme-settings-offcanvas">
<div class="d-flex align-items-center bg-primary bg-gradient p-3 offcanvas-header">
<h5 class="m-0 me-2 text-white">Theme Customizer</h5>
<button type="button" class="btn-close btn-close-white ms-auto" id="customizerclose-btn" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body p-0">
<div data-simplebar class="h-100">
<div class="p-4">
<h6 class="mb-0 fw-semibold text-uppercase">Layout</h6>
<p class="text-muted">Choose your layout</p>
<div class="row gy-3">
<div class="col-4">
<div class="form-check card-radio">
<input id="customizer-layout01" name="data-layout" type="radio" value="vertical" class="form-check-input">
<label class="form-check-label p-0 avatar-md w-100" for="customizer-layout01">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Vertical</h5>
</div>
<div class="col-4">
<div class="form-check card-radio">
<input id="customizer-layout02" name="data-layout" type="radio" value="horizontal" class="form-check-input">
<label class="form-check-label p-0 avatar-md w-100" for="customizer-layout02">
<span class="d-flex h-100 flex-column gap-1">
<span class="bg-light d-flex p-1 gap-1 align-items-center">
<span class="d-block p-1 bg-primary-subtle rounded me-1"></span>
<span class="d-block p-1 pb-0 px-2 bg-primary-subtle ms-auto"></span>
<span class="d-block p-1 pb-0 px-2 bg-primary-subtle"></span>
</span>
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Horizontal</h5>
</div>
<div class="col-4">
<div class="form-check card-radio">
<input id="customizer-layout03" name="data-layout" type="radio" value="twocolumn" class="form-check-input">
<label class="form-check-label p-0 avatar-md w-100" for="customizer-layout03">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1">
<span class="d-block p-1 bg-primary-subtle mb-2"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Two Column</h5>
</div>
<!-- end col -->
<div class="col-4">
<div class="form-check card-radio">
<input id="customizer-layout04" name="data-layout" type="radio" value="semibox" class="form-check-input">
<label class="form-check-label p-0 avatar-md w-100" for="customizer-layout04">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0 p-1">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column pt-1 pe-2">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Semi Box</h5>
</div>
<!-- end col -->
</div>
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Color Scheme</h6>
<p class="text-muted">Choose Light or Dark Scheme.</p>
<div class="colorscheme-cardradio">
<div class="row">
<div class="col-4">
<div class="form-check card-radio">
<input class="form-check-input" type="radio" name="data-bs-theme" id="layout-mode-light" value="light">
<label class="form-check-label p-0 avatar-md w-100" for="layout-mode-light">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Light</h5>
</div>
<div class="col-4">
<div class="form-check card-radio dark">
<input class="form-check-input" type="radio" name="data-bs-theme" id="layout-mode-dark" value="dark">
<label class="form-check-label p-0 avatar-md w-100 bg-dark" for="layout-mode-dark">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-white bg-opacity-10 d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-white bg-opacity-10 rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-white bg-opacity-10 d-block p-1"></span>
<span class="bg-white bg-opacity-10 d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Dark</h5>
</div>
</div>
</div>
<div id="sidebar-visibility">
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Sidebar Visibility</h6>
<p class="text-muted">Choose show or Hidden sidebar.</p>
<div class="row">
<div class="col-4">
<div class="form-check card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-visibility" id="sidebar-visibility-show" value="show">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-visibility-show">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0 p-1">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column pt-1 pe-2">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Show</h5>
</div>
<div class="col-4">
<div class="form-check card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-visibility" id="sidebar-visibility-hidden" value="hidden">
<label class="form-check-label p-0 avatar-md w-100 px-2" for="sidebar-visibility-hidden">
<span class="d-flex gap-1 h-100">
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column pt-1 px-2">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Hidden</h5>
</div>
</div>
</div>
<div id="layout-width">
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Layout Width</h6>
<p class="text-muted">Choose Fluid or Boxed layout.</p>
<div class="row">
<div class="col-4">
<div class="form-check card-radio">
<input class="form-check-input" type="radio" name="data-layout-width" id="layout-width-fluid" value="fluid">
<label class="form-check-label p-0 avatar-md w-100" for="layout-width-fluid">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Fluid</h5>
</div>
<div class="col-4">
<div class="form-check card-radio">
<input class="form-check-input" type="radio" name="data-layout-width" id="layout-width-boxed" value="boxed">
<label class="form-check-label p-0 avatar-md w-100 px-2" for="layout-width-boxed">
<span class="d-flex gap-1 h-100 border-start border-end">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Boxed</h5>
</div>
</div>
</div>
<div id="layout-position">
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Layout Position</h6>
<p class="text-muted">Choose Fixed or Scrollable Layout Position.</p>
<div class="btn-group radio" role="group">
<input type="radio" class="btn-check" name="data-layout-position" id="layout-position-fixed" value="fixed">
<label class="btn btn-light w-sm" for="layout-position-fixed">Fixed</label>
<input type="radio" class="btn-check" name="data-layout-position" id="layout-position-scrollable" value="scrollable">
<label class="btn btn-light w-sm ms-0" for="layout-position-scrollable">Scrollable</label>
</div>
</div>
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Topbar Color</h6>
<p class="text-muted">Choose Light or Dark Topbar Color.</p>
<div class="row">
<div class="col-4">
<div class="form-check card-radio">
<input class="form-check-input" type="radio" name="data-topbar" id="topbar-color-light" value="light">
<label class="form-check-label p-0 avatar-md w-100" for="topbar-color-light">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Light</h5>
</div>
<div class="col-4">
<div class="form-check card-radio">
<input class="form-check-input" type="radio" name="data-topbar" id="topbar-color-dark" value="dark">
<label class="form-check-label p-0 avatar-md w-100" for="topbar-color-dark">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-primary d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Dark</h5>
</div>
</div>
<div id="sidebar-size">
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Sidebar Size</h6>
<p class="text-muted">Choose a size of Sidebar.</p>
<div class="row">
<div class="col-4">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-size" id="sidebar-size-default" value="lg">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-size-default">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Default</h5>
</div>
<div class="col-4">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-size" id="sidebar-size-compact" value="md">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-size-compact">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Compact</h5>
</div>
<div class="col-4">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-size" id="sidebar-size-small" value="sm">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-size-small">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1">
<span class="d-block p-1 bg-primary-subtle mb-2"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Small (Icon View)</h5>
</div>
<div class="col-4">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-size" id="sidebar-size-small-hover" value="sm-hover">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-size-small-hover">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1">
<span class="d-block p-1 bg-primary-subtle mb-2"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Small Hover View</h5>
</div>
</div>
</div>
<div id="sidebar-view">
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Sidebar View</h6>
<p class="text-muted">Choose Default or Detached Sidebar view.</p>
<div class="row">
<div class="col-4">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-layout-style" id="sidebar-view-default" value="default">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-view-default">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Default</h5>
</div>
<div class="col-4">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-layout-style" id="sidebar-view-detached" value="detached">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-view-detached">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-flex p-1 gap-1 align-items-center px-2">
<span class="d-block p-1 bg-primary-subtle rounded me-1"></span>
<span class="d-block p-1 pb-0 px-2 bg-primary-subtle ms-auto"></span>
<span class="d-block p-1 pb-0 px-2 bg-primary-subtle"></span>
</span>
<span class="d-flex gap-1 h-100 p-1 px-2">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
</span>
<span class="bg-light d-block p-1 mt-auto px-2"></span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Detached</h5>
</div>
</div>
</div>
<div id="sidebar-color">
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Sidebar Color</h6>
<p class="text-muted">Choose a color of Sidebar.</p>
<div class="row">
<div class="col-4">
<div class="form-check sidebar-setting card-radio" data-bs-toggle="collapse" data-bs-target="#collapseBgGradient.show">
<input class="form-check-input" type="radio" name="data-sidebar" id="sidebar-color-light" value="light">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-color-light">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-white border-end d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Light</h5>
</div>
<div class="col-4">
<div class="form-check sidebar-setting card-radio" data-bs-toggle="collapse" data-bs-target="#collapseBgGradient.show">
<input class="form-check-input" type="radio" name="data-sidebar" id="sidebar-color-dark" value="dark">
<label class="form-check-label p-0 avatar-md w-100" for="sidebar-color-dark">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-primary d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-white bg-opacity-10 rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Dark</h5>
</div>
<div class="col-4">
<button class="btn btn-link avatar-md w-100 p-0 overflow-hidden border collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseBgGradient" aria-expanded="false" aria-controls="collapseBgGradient">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-vertical-gradient d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-white bg-opacity-10 rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
<span class="d-block p-1 px-2 pb-0 bg-white bg-opacity-10"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</button>
<h5 class="fs-13 text-center mt-2">Gradient</h5>
</div>
</div>
<!-- end row -->
<div class="collapse" id="collapseBgGradient">
<div class="d-flex gap-2 flex-wrap img-switch p-2 px-3 bg-light rounded">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar" id="sidebar-color-gradient" value="gradient">
<label class="form-check-label p-0 avatar-xs rounded-circle" for="sidebar-color-gradient">
<span class="avatar-title rounded-circle bg-vertical-gradient"></span>
</label>
</div>
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar" id="sidebar-color-gradient-2" value="gradient-2">
<label class="form-check-label p-0 avatar-xs rounded-circle" for="sidebar-color-gradient-2">
<span class="avatar-title rounded-circle bg-vertical-gradient-2"></span>
</label>
</div>
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar" id="sidebar-color-gradient-3" value="gradient-3">
<label class="form-check-label p-0 avatar-xs rounded-circle" for="sidebar-color-gradient-3">
<span class="avatar-title rounded-circle bg-vertical-gradient-3"></span>
</label>
</div>
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar" id="sidebar-color-gradient-4" value="gradient-4">
<label class="form-check-label p-0 avatar-xs rounded-circle" for="sidebar-color-gradient-4">
<span class="avatar-title rounded-circle bg-vertical-gradient-4"></span>
</label>
</div>
</div>
</div>
</div>
<div id="sidebar-img">
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Sidebar Images</h6>
<p class="text-muted">Choose a image of Sidebar.</p>
<div class="d-flex gap-2 flex-wrap img-switch">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-image" id="sidebarimg-none" value="none">
<label class="form-check-label p-0 avatar-sm h-auto" for="sidebarimg-none">
<span class="avatar-md w-auto bg-light d-flex align-items-center justify-content-center">
<i class="ri-close-fill fs-20"></i>
</span>
</label>
</div>
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-image" id="sidebarimg-01" value="img-1">
<label class="form-check-label p-0 avatar-sm h-auto" for="sidebarimg-01">
<img src="assets/images/sidebar/img-1.jpg" alt="" class="avatar-md w-auto object-fit-cover">
</label>
</div>
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-image" id="sidebarimg-02" value="img-2">
<label class="form-check-label p-0 avatar-sm h-auto" for="sidebarimg-02">
<img src="assets/images/sidebar/img-2.jpg" alt="" class="avatar-md w-auto object-fit-cover">
</label>
</div>
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-image" id="sidebarimg-03" value="img-3">
<label class="form-check-label p-0 avatar-sm h-auto" for="sidebarimg-03">
<img src="assets/images/sidebar/img-3.jpg" alt="" class="avatar-md w-auto object-fit-cover">
</label>
</div>
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-sidebar-image" id="sidebarimg-04" value="img-4">
<label class="form-check-label p-0 avatar-sm h-auto" for="sidebarimg-04">
<img src="assets/images/sidebar/img-4.jpg" alt="" class="avatar-md w-auto object-fit-cover">
</label>
</div>
</div>
</div>
<div id="preloader-menu">
<h6 class="mt-4 mb-0 fw-semibold text-uppercase">Preloader</h6>
<p class="text-muted">Choose a preloader.</p>
<div class="row">
<div class="col-4">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-preloader" id="preloader-view-custom" value="enable">
<label class="form-check-label p-0 avatar-md w-100" for="preloader-view-custom">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
<!-- <div id="preloader"> -->
<div id="status" class="d-flex align-items-center justify-content-center">
<div class="spinner-border text-primary avatar-xxs m-auto" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
<!-- </div> -->
</label>
</div>
<h5 class="fs-13 text-center mt-2">Enable</h5>
</div>
<div class="col-4">
<div class="form-check sidebar-setting card-radio">
<input class="form-check-input" type="radio" name="data-preloader" id="preloader-view-none" value="disable">
<label class="form-check-label p-0 avatar-md w-100" for="preloader-view-none">
<span class="d-flex gap-1 h-100">
<span class="flex-shrink-0">
<span class="bg-light d-flex h-100 flex-column gap-1 p-1">
<span class="d-block p-1 px-2 bg-primary-subtle rounded mb-2"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
<span class="d-block p-1 px-2 pb-0 bg-primary-subtle"></span>
</span>
</span>
<span class="flex-grow-1">
<span class="d-flex h-100 flex-column">
<span class="bg-light d-block p-1"></span>
<span class="bg-light d-block p-1 mt-auto"></span>
</span>
</span>
</span>
</label>
</div>
<h5 class="fs-13 text-center mt-2">Disable</h5>
</div>
</div>
</div>
<!-- end preloader-menu -->
</div>
</div>
</div>
<div class="offcanvas-footer border-top p-3 text-center">
<div class="row">
<div class="col-6">
<button type="button" class="btn btn-light w-100" id="reset-layout">Reset</button>
</div>
<div class="col-6">
<a href="https://1.envato.market/velzon-admin" target="_blank" class="btn btn-primary w-100">Buy Now</a>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,197 @@
@props(['route', 'columns', 'reorder'])
<table class="display table table-bordered dt-responsive ajax-datatable table-sm" style="width:100%">
<thead class="text-white" style="background-color: var(--vz-primary)">
<tr>
@foreach ($columns as $index => $column)
<th>{{ $column['title'] }}</th>
@endforeach
</tr>
</thead>
<tbody id="table-body">
</tbody>
</table>
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/dataTables.bootstrap5.min.css" />
<link rel="stylesheet" href="https://cdn.datatables.net/responsive/2.2.9/css/responsive.bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.2.2/css/buttons.dataTables.min.css">
@endpush
@push('js')
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.11.5/js/dataTables.bootstrap5.min.js"></script>
<script src="https://cdn.datatables.net/responsive/2.2.9/js/dataTables.responsive.min.js"></script>
<script>
$(document).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
let table = $('.ajax-datatable').DataTable({
processing: true,
reordering: true,
serverSide: true,
dom: "Blrtip",
buttons: ["copy", "csv", "excel", "print"],
ajax: "{{ $route }}",
columns: @json($columns),
rowCallback: function(row, data) {
$(row).attr('data-id', data.id);
},
initComplete: function() {
$('[data-bs-toggle="tooltip"]').tooltip();
}
});
$("#table-body").sortable({
items: "tr",
cursor: 'move',
opacity: 0.6,
update: function() {
sendOrderToServer();
}
});
function sendOrderToServer() {
var order = [];
var token = $('meta[name="csrf-token"]').attr('content');
$('tr.tableRow').each(function(index, element) {
order.push({
id: $(this).attr('data-id'),
position: index + 1
});
});
$.ajax({
type: "POST",
url: "{{ $reorder }}",
dataType: "json",
data: {
order: order,
_token: token
},
success: function(response) {
if (response.status == true) {
console.log(response.message);
$('.ajax-datatable').DataTable().ajax.reload();
} else {
console.log(response);
}
}
});
}
$('body').on('click', '.remove-item', function(e) {
e.preventDefault();
let url = $(this).data('link');
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
if (response.status == 200) {
toastr.success(response.message);
$('.ajax-datatable').DataTable().ajax.reload();
}
},
error: function(xhr, status, error) {
toastr.error("Request failed: " + error);
console.error(xhr.responseText);
}
});
}
});
});
$('body').on('click', '.toggle-item', function(e) {
e.preventDefault();
let url = $(this).data('link');
Swal.fire({
title: 'Are you sure?',
text: "Item will be marked as " + $(this).attr('data-status') + "!",
icon: 'info',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, toggle it!'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'get',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
if (response.status == 200) {
flasher.success(response.message);
$('.ajax-datatable').DataTable().ajax.reload();
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
}
});
}
});
});
$('body').on('click', '.mark-item', function(e) {
e.preventDefault();
let url = $(this).data('link');
Swal.fire({
title: 'Are you sure?',
text: "Item will be marked as " + $(this).attr('data-status') + "!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: 'yellow',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, mark it!'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'get',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
if (response.status == 200) {
flasher.success(response.message);
$('.ajax-datatable').DataTable().ajax.reload();
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
}
});
}
});
});
});
</script>
@endpush

View File

@@ -0,0 +1,30 @@
@props(['type' => 'success', 'message' => null, 'messages' => []])
@if ($message || $messages)
<div class="alert alert-{{ $type }} alert-dismissible fade show">
<svg class="alert-icon me-2" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2"
fill="none" stroke-linecap="round" stroke-linejoin="round">
@if ($type == 'success')
<polyline points="9 11 12 14 22 4"></polyline>
<path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path>
@elseif ($type == 'danger')
<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon>
<line x1="15" y1="9" x2="9" y2="15"></line>
<line x1="9" y1="9" x2="15" y2="15"></line>
@endif
</svg>
<strong>{{ ucfirst($type) }}!</strong>
@if ($message)
{{ $message }}.
@elseif ($messages)
<ul class="ps-4">
@foreach ($messages as $message)
<li class="mb-1">{{ $message }}</li>
@endforeach
</ul>
@endif
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="btn-close"></button>
</div>
@endif

View File

@@ -0,0 +1,6 @@
@props(['label' => 'Add', 'href' => '#'])
<div class="card-footer border-0 text-end">
{{ html()->a($href = $href, $text = 'Cancel')->class('btn btn-sm btn-light') }}
{{ html()->button($label, 'submit')->class('btn btn-sm text-white')->style('background-color: var(--vz-primary)') }}
</div>

View File

@@ -0,0 +1,82 @@
@props([
'id' => 'lfm-image',
'name' => 'logo',
'label' => 'Select Image',
'multiple' => 'true',
'data' => null,
'editable' => false,
])
<div class="upload__box">
<div class="{{ $id }}-upload__img-wrap row">
</div>
<input id="{{ $id }}" type="text" name="{{ $name }}" value="{{ $data }}"
class="form-control" readonly />
<div class="input-group mt-1">
<span class="input-group-btn">
<a href="javascript:void(0)" id="{{ $id }}-input" data-input="{{ $id }}"
class="link-primary link-opacity-75-hover link-offset-2">
<i class="ri-image-add-line me-1"></i> {{ $label }}
</a>
</span>
</div>
</div>
@push('js')
<script>
$(document).ready(function() {
let imgArray = [];
let eventListener = "{{ $id }}";
let isMultiple = "{{ $multiple }}";
let isEditable = "{{ $editable }}";
let data = "{{ $data }}";
const prefix = `${app_url}/laravel-filemanager`;
$(`#${eventListener}-input`).filemanager('file', {
prefix: prefix
});
$(document).on('change', `#${eventListener}`, function() {
const value = $(this).val();
imgArray = (isMultiple == true) ? value.split(',') : [value.split(',').pop()];
let imageUrl = imgArray.join(',');
$(`#${eventListener}`).val(imageUrl);
$(`.${eventListener}-upload__img-wrap`).empty();
$.each(imgArray, function(index, item) {
let html = `<div class='upload__img-box col-sm-auto'>
<div style='background-image: url("${app_url}/${item}")' class='img-bg'>
<div id="${eventListener}-img-close" data-file="${item}" class='upload__img-close'></div>
</div>
</div>`;
$(`.${eventListener}-upload__img-wrap`).append(html);
})
});
$(document).on('click', `#${eventListener}-img-close`, function(e) {
const file = $(this).data("file");
for (let i = 0; i < imgArray.length; i++) {
if (imgArray[i] == file) {
imgArray.splice(i, 1);
break;
}
}
let imageUrl = imgArray.join(',');
$(`#${eventListener}`).val(imageUrl);
$(this).parent().parent().remove();
});
if (isEditable && data) {
$(`#${eventListener}`).trigger('change');
}
});
</script>
@endpush

View File

@@ -0,0 +1,167 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb />
<div class="row project-wrapper">
<div class="col-xxl-8">
<div class="row">
<div class="col-xl-3 col-md-6">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<p class="text-uppercase fw-medium text-muted mb-0">Active Users</p>
</div>
</div>
<div class="d-flex align-items-end justify-content-between mt-4">
<div>
<h4 class="fs-22 fw-semibold ff-secondary mb-4"><span class="counter-value"
data-target="{{ $usersCount ?? 0 }}">0</span></h4>
</div>
<div class="avatar-sm flex-shrink-0">
<span class="avatar-title bg-warning-subtle rounded fs-3">
<i class="ri-user-line text-warning"></i>
</span>
</div>
</div>
</div><!-- end card body -->
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-3 col-md-6">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<p class="text-uppercase fw-medium text-muted mb-0">Total Blogs</p>
</div>
</div>
<div class="d-flex align-items-end justify-content-between mt-4">
<div>
<h4 class="fs-22 fw-semibold ff-secondary mb-4"><span class="counter-value"
data-target="{{ $blogsCount ?? 0 }}">0</span></h4>
</div>
<div class="avatar-sm flex-shrink-0">
<span class="avatar-title bg-info-subtle rounded fs-3">
<i class="ri-newspaper-line text-info"></i>
</span>
</div>
</div>
</div><!-- end card body -->
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-3 col-md-6">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<p class="text-uppercase fw-medium text-muted mb-0">Total Team Members</p>
</div>
</div>
<div class="d-flex align-items-end justify-content-between mt-4">
<div>
<h4 class="fs-22 fw-semibold ff-secondary mb-4"><span class="counter-value"
data-target="{{ $teamsCount ?? 0 }}">0</span></h4>
</div>
<div class="avatar-sm flex-shrink-0">
<span class="avatar-title bg-secondary-subtle rounded fs-3">
<i class="ri-team-line text-secondary"></i>
</span>
</div>
</div>
</div><!-- end card body -->
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-3 col-md-6">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<p class="text-uppercase fw-medium text-muted mb-0">Total Services</p>
</div>
</div>
<div class="d-flex align-items-end justify-content-between mt-4">
<div>
<h4 class="fs-22 fw-semibold ff-secondary mb-4"><span class="counter-value"
data-target="{{ $servicesCount ?? 0 }}">0</span></h4>
</div>
<div class="avatar-sm flex-shrink-0">
<span class="avatar-title bg-success-subtle rounded fs-3">
<i class="ri-customer-service-2-line text-success"></i>
</span>
</div>
</div>
</div><!-- end card body -->
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-3 col-md-6">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<p class="text-uppercase fw-medium text-muted mb-0">Total Partners</p>
</div>
</div>
<div class="d-flex align-items-end justify-content-between mt-4">
<div>
<h4 class="fs-22 fw-semibold ff-secondary mb-4"><span class="counter-value"
data-target="{{ $partnersCount ?? 0 }}">0</span></h4>
</div>
<div class="avatar-sm flex-shrink-0">
<span class="avatar-title bg-dark-subtle rounded fs-3">
<i class="ri-hand-heart-line text-dark"></i>
</span>
</div>
</div>
</div><!-- end card body -->
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-12 col-md-12">
<!-- card -->
<div class="card">
<div class="card-header">
<h5 class="card-title mb-0">Recent Enquiries<h5>
</div>
<div class="card-body">
@php
$columns = [
[
'title' => 'S.N',
'data' => 'DT_RowIndex',
'name' => 'DT_RowIndex',
'orderable' => false,
'searchable' => false,
'sortable' => false,
],
['title' => 'Name', 'data' => 'name', 'name' => 'name'],
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
['title' => 'Contact', 'data' => 'mobile', 'name' => 'mobile'],
['title' => 'Subject', 'data' => 'subject', 'name' => 'subject'],
['title' => 'Message', 'data' => 'message', 'name' => 'message'],
[
'title' => 'Action',
'data' => 'action',
'orderable' => false,
'searchable' => false,
],
];
@endphp
<x-data-table-script :route="route('dashboard.getEnquiries')" :reorder="null" :columns="$columns" />
</div><!-- end card body -->
</div><!-- end card -->
</div><!-- end col -->
</div><!-- end row -->
</div><!-- end col -->
</div><!-- end row -->
</div>
@endsection

View File

@@ -0,0 +1,94 @@
<!doctype html>
<html lang="en" data-layout="vertical" data-topbar="light" data-sidebar="dark" data-sidebar-size="lg"
data-sidebar-image="none" data-preloader="disable">
<head>
<meta charset="utf-8" />
<title>Consultancy CCMS</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="Premium Multipurpose Admin & Dashboard Template" name="description" />
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta content="Themesbrand" name="author" />
<!-- App favicon -->
<link rel="shortcut icon" href="{{ asset(setting('favicon')) }}">
<!-- Layout config Js -->
<script src="{{ asset('assets/js/layout.js') }}"></script>
<!-- Bootstrap Css -->
<link href="{{ asset('assets/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
<!-- Icons Css -->
<link href="{{ asset('assets/css/icons.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('assets/libs/sweetalert2/sweetalert2.min.css') }}" rel="stylesheet" type="text/css" />
<!-- App Css-->
<link href="{{ asset('assets/css/app.min.css') }}" rel="stylesheet" type="text/css" />
<!-- custom Css-->
<link href="{{ asset('assets/css/custom.min.css') }}" rel="stylesheet" type="text/css" />
@stack('css')
<style>
:root[data-sidebar="dark"] {
--vz-primary: {{ getThemeColor() }};
--primary-theme-color: {{ getThemeColor() }};
--vz-vertical-menu-item-hover-color: {{ getThemeColor() }};
--vz-vertical-menu-item-active-color: {{ getThemeColor() }};
--vz-vertical-menu-sub-item-hover-color: {{ getThemeColor() }};
--vz-vertical-menu-sub-item-active-color: {{ getThemeColor() }};
}
.nav-border-top-primary .nav-link.active {
color: {{ getThemeColor() }};
border-top-color: {{ getThemeColor() }};
}
</style>
</head>
<body>
<div id="layout-wrapper">
<x-dashboard.navbar />
<x-dashboard.remove-notification-modal />
<x-dashboard.sidebar />
<div class="vertical-overlay"></div>
<div class="main-content">
<div class="page-content">
@yield('content')
</div>
<x-dashboard.footer />
</div>
</div>
<x-dashboard.preloader />
<!-- JAVASCRIPT -->
<script>
const app_url = "{{ config('app.url') }}";
</script>
<script src="{{ asset('assets/libs/jquery/jquery-3.7.1.min.js') }}"></script>
<script src="{{ asset('assets/libs/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('assets/libs/simplebar/simplebar.min.js') }}"></script>
<script src="{{ asset('assets/libs/node-waves/waves.min.js') }}"></script>
<script src="{{ asset('assets/libs/feather-icons/feather.min.js') }}"></script>
<script src="{{ asset('assets/js/pages/plugins/lord-icon-2.1.0.js') }}"></script>
<script src="{{ asset('assets/libs/sweetalert2/sweetalert2.min.js') }}"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
<script src="{{ asset('assets/js/pages/form-validation.init.js') }}"></script>
<script src="{{ asset('assets/libs/choice.js/choices.min.js') }}"></script>
@stack('js')
<!-- Ckeditor js -->
<script src="{{ asset('assets/libs/ckeditor4/ckeditor.js') }}"></script>
<script src="{{ asset('assets/libs/ckeditor4/adapters/jquery.js') }}"></script>
<!-- App js -->
<script src="{{ asset('assets/js/app.js') }}"></script>
<script src="{{ asset('assets/js/custom.js') }}"></script>
</body>
</html>

View File

@@ -0,0 +1,44 @@
<!doctype html>
<html lang="en" data-layout="vertical" data-topbar="light" data-sidebar="dark" data-sidebar-size="lg"
data-sidebar-image="none" data-preloader="disable">
<head>
<meta charset="utf-8" />
<title>{{ setting('title') }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="Consultancy CMS Admin Dashboard" name="description" />
<meta content="Bibhuti Solutions" name="author" />
<link rel="canonical" href="{{ setting('website_url') }}">
<link rel="shortcut icon" href="{{ asset(setting('favicon')) }}">
<script src="{{ asset('assets/js/layout.js') }}"></script>
<link href="{{ asset('assets/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('assets/css/icons.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('assets/css/app.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('assets/css/custom.min.css') }}" rel="stylesheet" type="text/css" />
<style>
:root{
--vz-primary: {{ setting('color') }};
}
</style>
</head>
<body>
@yield('content')
<script src="{{ asset('assets/libs/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('assets/libs/simplebar/simplebar.min.js') }}"></script>
<script src="{{ asset('assets/libs/node-waves/waves.min.js') }}"></script>
<script src="{{ asset('assets/libs/feather-icons/feather.min.js') }}"></script>
<script src="{{ asset('assets/js/pages/plugins/lord-icon-2.1.0.js') }}"></script>
<script src="{{ asset('assets/js/plugins.js') }}"></script>
<script src="{{ asset('assets/libs/particles.js/particles.js') }}"></script>
<script src="{{ asset('assets/js/pages/particles.app.js') }}"></script>
<script src="{{ asset('assets/js/pages/password-addon.init.js') }}"></script>
</body>
</html>

View File

@@ -0,0 +1,29 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Profile') }}
</h2>
</x-slot>
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8 space-y-6">
<div class="p-4 sm:p-8 bg-white shadow sm:rounded-lg">
<div class="max-w-xl">
@include('profile.partials.update-profile-information-form')
</div>
</div>
<div class="p-4 sm:p-8 bg-white shadow sm:rounded-lg">
<div class="max-w-xl">
@include('profile.partials.update-password-form')
</div>
</div>
<div class="p-4 sm:p-8 bg-white shadow sm:rounded-lg">
<div class="max-w-xl">
@include('profile.partials.delete-user-form')
</div>
</div>
</div>
</div>
</x-app-layout>

View File

@@ -0,0 +1,55 @@
<section class="space-y-6">
<header>
<h2 class="text-lg font-medium text-gray-900">
{{ __('Delete Account') }}
</h2>
<p class="mt-1 text-sm text-gray-600">
{{ __('Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.') }}
</p>
</header>
<x-danger-button
x-data=""
x-on:click.prevent="$dispatch('open-modal', 'confirm-user-deletion')"
>{{ __('Delete Account') }}</x-danger-button>
<x-modal name="confirm-user-deletion" :show="$errors->userDeletion->isNotEmpty()" focusable>
<form method="post" action="{{ route('profile.destroy') }}" class="p-6">
@csrf
@method('delete')
<h2 class="text-lg font-medium text-gray-900">
{{ __('Are you sure you want to delete your account?') }}
</h2>
<p class="mt-1 text-sm text-gray-600">
{{ __('Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.') }}
</p>
<div class="mt-6">
<x-input-label for="password" value="{{ __('Password') }}" class="sr-only" />
<x-text-input
id="password"
name="password"
type="password"
class="mt-1 block w-3/4"
placeholder="{{ __('Password') }}"
/>
<x-input-error :messages="$errors->userDeletion->get('password')" class="mt-2" />
</div>
<div class="mt-6 flex justify-end">
<x-secondary-button x-on:click="$dispatch('close')">
{{ __('Cancel') }}
</x-secondary-button>
<x-danger-button class="ms-3">
{{ __('Delete Account') }}
</x-danger-button>
</div>
</form>
</x-modal>
</section>

View File

@@ -0,0 +1,48 @@
<section>
<header>
<h2 class="text-lg font-medium text-gray-900">
{{ __('Update Password') }}
</h2>
<p class="mt-1 text-sm text-gray-600">
{{ __('Ensure your account is using a long, random password to stay secure.') }}
</p>
</header>
<form method="post" action="{{ route('password.update') }}" class="mt-6 space-y-6">
@csrf
@method('put')
<div>
<x-input-label for="update_password_current_password" :value="__('Current Password')" />
<x-text-input id="update_password_current_password" name="current_password" type="password" class="mt-1 block w-full" autocomplete="current-password" />
<x-input-error :messages="$errors->updatePassword->get('current_password')" class="mt-2" />
</div>
<div>
<x-input-label for="update_password_password" :value="__('New Password')" />
<x-text-input id="update_password_password" name="password" type="password" class="mt-1 block w-full" autocomplete="new-password" />
<x-input-error :messages="$errors->updatePassword->get('password')" class="mt-2" />
</div>
<div>
<x-input-label for="update_password_password_confirmation" :value="__('Confirm Password')" />
<x-text-input id="update_password_password_confirmation" name="password_confirmation" type="password" class="mt-1 block w-full" autocomplete="new-password" />
<x-input-error :messages="$errors->updatePassword->get('password_confirmation')" class="mt-2" />
</div>
<div class="flex items-center gap-4">
<x-primary-button>{{ __('Save') }}</x-primary-button>
@if (session('status') === 'password-updated')
<p
x-data="{ show: true }"
x-show="show"
x-transition
x-init="setTimeout(() => show = false, 2000)"
class="text-sm text-gray-600"
>{{ __('Saved.') }}</p>
@endif
</div>
</form>
</section>

View File

@@ -0,0 +1,64 @@
<section>
<header>
<h2 class="text-lg font-medium text-gray-900">
{{ __('Profile Information') }}
</h2>
<p class="mt-1 text-sm text-gray-600">
{{ __("Update your account's profile information and email address.") }}
</p>
</header>
<form id="send-verification" method="post" action="{{ route('verification.send') }}">
@csrf
</form>
<form method="post" action="{{ route('profile.update') }}" class="mt-6 space-y-6">
@csrf
@method('patch')
<div>
<x-input-label for="name" :value="__('Name')" />
<x-text-input id="name" name="name" type="text" class="mt-1 block w-full" :value="old('name', $user->name)" required autofocus autocomplete="name" />
<x-input-error class="mt-2" :messages="$errors->get('name')" />
</div>
<div>
<x-input-label for="email" :value="__('Email')" />
<x-text-input id="email" name="email" type="email" class="mt-1 block w-full" :value="old('email', $user->email)" required autocomplete="username" />
<x-input-error class="mt-2" :messages="$errors->get('email')" />
@if ($user instanceof \Illuminate\Contracts\Auth\MustVerifyEmail && ! $user->hasVerifiedEmail())
<div>
<p class="text-sm mt-2 text-gray-800">
{{ __('Your email address is unverified.') }}
<button form="send-verification" class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
{{ __('Click here to re-send the verification email.') }}
</button>
</p>
@if (session('status') === 'verification-link-sent')
<p class="mt-2 font-medium text-sm text-green-600">
{{ __('A new verification link has been sent to your email address.') }}
</p>
@endif
</div>
@endif
</div>
<div class="flex items-center gap-4">
<x-primary-button>{{ __('Save') }}</x-primary-button>
@if (session('status') === 'profile-updated')
<p
x-data="{ show: true }"
x-show="show"
x-transition
x-init="setTimeout(() => show = false, 2000)"
class="text-sm text-gray-600"
>{{ __('Saved.') }}</p>
@endif
</div>
</form>
</section>

View File

@@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="csrf-token" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Edit {{ $model->editor_page_title }}</title>
@foreach ($editorConfig->getStyles() as $style)
<link rel="stylesheet" href="{{ $style }}">
@endforeach
<style>
* {
margin: 0;
padding: 0;
}
</style>
<script>
window.editorConfig = @json($editorConfig ?? []);
Object.defineProperty(window, 'grapesjs', {
value: {
plugins: {
plugins: [],
/**
* Add new plugin. Plugins could not be overwritten
* @param {string} id Plugin ID
* @param {Function} plugin Function which contains all plugin logic
* @return {Function} The plugin function
* @example
* PluginManager.add('some-plugin', function(editor){
* editor.Commands.add('new-command', {
* run: function(editor, senderBtn){
* console.log('Executed new-command');
* }
* })
* });
*/
add(id, plugin) {
if (this.plugins[id]) {
return this.plugins[id];
}
this.plugins[id] = plugin;
return plugin;
},
/**
* Returns plugin by ID
* @param {string} id Plugin ID
* @return {Function|undefined} Plugin
* @example
* var plugin = PluginManager.get('some-plugin');
* plugin(editor);
*/
get(id) {
return this.plugins[id];
},
/**
* Returns object with all plugins
* @return {Object}
*/
getAll() {
return this.plugins;
},
}
}
})
</script>
</head>
<body>
<div id="{{ str_replace('#', '', $editorConfig->container ?? 'editor') }}"></div>
@foreach ($editorConfig->getScripts() as $script)
<script src="{{ $script }}"></script>
@endforeach
</body>
</html>

View File

@@ -0,0 +1 @@
<div>Example Block</div>

View File

@@ -0,0 +1,443 @@
<style>
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
font-size: 62.5%;
}
body {
display: flex;
justify-content: center;
align-items: center;
font-family: 'lato', sans-serif;
background-color: #586783;
}
.resume {
margin: 10rem;
display: grid;
grid-template-columns: 1fr 2fr;
}
.resume .left-side {
padding: 4rem;
background-color: #323b4c;
overflow: hidden;
}
.resume .left-side ::selection {
color: #000;
background-color: #fff;
}
.resume .right-side {
padding: 4rem 3rem;
background-color: #fff;
overflow: hidden;
}
.resume .right-side ::selection {
color: #fff;
background-color: #323b4c;
}
.padding-top-bg {
padding-top: 4rem !important;
}
.padding-top-sm {
padding-top: 2rem !important;
}
.heading-primary-white,
.heading-primary-black {
font-size: 2.4rem;
font-weight: bold;
letter-spacing: 2px;
margin-bottom: 1rem;
position: relative;
}
.heading-primary-white {color: #fff;}
.heading-primary-black {color: #000;}
.heading-primary-white::after,
.heading-primary-black::after {
content: '';
height: 2px;
position: absolute;
left: 0;
top: 3.5rem;
}
.heading-primary-white::after {background-color: #fff; width: 120%;}
.heading-primary-black::after {background-color: #000; width: 100%;}
.info-box .info-title {
color: #fff;
font-size: 1.8rem;
font-weight: bold;
margin-bottom: 5px;
}
.info-box .info,
.info-box .info a {
color: #ddd;
font-size: 1.4rem;
text-decoration: none;
margin-bottom: 5px;
}
.discription {
font-size: 1.6rem;
color: #555;
padding: 1.5rem 0;
text-align: justify;
line-height: 1.5;
}
.profile {
display: flex;
flex-direction: column;
align-items: center;
}
.profile .name {
font-size: 2.4rem;
color: #fff;
margin-bottom: 2px;
}
.profile .title {
font-size: 1.6rem;
color: #ddd;
letter-spacing: 3px;
}
.profile .profile-img {
background-color: #fff;
width: 20rem;
height: 20rem;
border-radius: 50%;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
border: 2px solid #fff;
margin: 0 auto;
margin-bottom: 2rem;
}
.resume .left-side .profile-img img {
width: 100%;
}
.skill {
display: flex;
align-items: center;
gap: 2rem;
}
.skill span {
display: block;
height: 3px;
width: 3px;
border-radius: 50%;
background-color: #fff;
}
.skill .skill-name {
color: #fff;
font-size: 1.6rem;
}
.lang-box {
display: flex;
justify-content: space-between;
align-items: center;
gap: 2rem;
padding-bottom: 1rem;
}
.lang-box p {
width: 40%;
}
.lang-box .percent {
position: relative;
display: block;
height: 5px;
width: 60%;
background-color: #fff;
}
.lang-box .percent div {
position: absolute;
background-color: #2264ff;
height: 5px;
}
.xp-box {
position: relative;
padding-left: 3rem;
}
.xp-box::before {
content: '';
position: absolute;
top: 2rem;
left: 0;
background-color: #555;
height: 100%;
width: 2px;
}
.xp-box:last-child:before {
height: 91%;
}
.xp-box::after {
content: '';
position: absolute;
top: 2rem;
left: -7px;
background-color: #fff;
height: 1.2rem;
width: 1.2rem;
border-radius: 50%;
border: 2px solid #333;
}
.xp-box .xp-year {
color: #333;
font-size: 1.4rem;
font-weight: bold;
margin-bottom: 5px;
letter-spacing: 2px;
}
.xp-box .xp-company {
color: #555;
font-size: 1.6rem;
margin-bottom: 5px;
}
.xp-box .xp-position {
color: #333;
font-size: 1.8rem;
font-weight: bold;
}
.xp-box .padding-fix {
padding-bottom: 0;
}
.refer-box {
display: flex;
gap: 6rem;
}
.refer .refer-name {
font-size: 2rem;
margin-bottom: 3px;
}
.refer .job-position {
color: #555;
font-size: 1.6rem;
margin-bottom: 8px;
}
.refer .contact {
font-size: 1.4rem;
color: #555;
display: flex;
justify-content: space-between;
align-items: center;
}
.refer .contact span {
display: block;
width: 25%;
color: #000;
font-weight: bold;
}
.refer .contact p {
width: 75%;
}
@media screen and (max-width: 1000px) {
.resume {
grid-template-columns: repeat(1, 1fr);
}
}
@media screen and (max-width: 700px) {
.refer-box {display: block;}
.refer:first-child {margin-bottom: 3rem;}
.resume {margin: 0;}
}
</style>
<div class="container" style="height:100vh">
<div class="resume">
<div class="left-side">
<div class="profile">
<div class="profile-img">
<img src="https://i.postimg.cc/wBGkjTbC/Profile-Photo.jpg" alt="Profile Photo">
</div>
<h1 class="name">Al - Amin Rahmatullah</h1>
<p class="title">Marketing Manager</p>
</div>
<div class="contact padding-top-bg">
<h1 class="heading-primary-white">Contact</h1>
<div class="info-box padding-top-sm">
<div class="info-title">Phone</div>
<div class="info">
<a href="tel:+880 1765923094">+880 1765923094</a>
</div>
</div>
<div class="info-box padding-top-sm">
<div class="info-title">Email</div>
<div class="info">
<a href="mailto:alaminhimu0@gmail.com">alaminhimu0@gmail.com</a>
</div>
</div>
<div class="info-box padding-top-sm">
<div class="info-title">Address</div>
<div class="info">Santibug, Rangpur</div>
</div>
</div>
<div class="education padding-top-bg">
<h1 class="heading-primary-white">Education</h1>
<div class="info-box padding-top-sm">
<div class="info">2019</div>
<div class="info-title">Higher Secondary Certificate</div>
<div class="info">Collectorate School & College</div>
</div>
<div class="info-box padding-top-sm">
<div class="info">2017</div>
<div class="info-title">Secondary School Certificate</div>
<div class="info">Kishoregonj M.L Model High School</div>
</div>
<div class="info-box padding-top-sm">
<div class="info">2015</div>
<div class="info-title">Junior School Certificate</div>
<div class="info">Uttor Durakuti High School</div>
</div>
</div>
<div class="expertise padding-top-bg">
<h1 class="heading-primary-white">Expertise</h1>
<div class="skill padding-top-sm">
<span></span>
<div class="skill-name">UI/UX</div>
</div>
<div class="skill padding-top-sm">
<span></span>
<div class="skill-name">Visual Design</div>
</div>
<div class="skill padding-top-sm">
<span></span>
<div class="skill-name">Wireframes</div>
</div>
<div class="skill padding-top-sm">
<span></span>
<div class="skill-name">Storyboards</div>
</div>
<div class="skill padding-top-sm">
<span></span>
<div class="skill-name">User Flows</div>
</div>
</div>
<div class="language padding-top-bg">
<h1 class="heading-primary-white">Language</h1>
<div class="info-box padding-top-sm">
<div class="lang-box">
<p class="info-title">English</p>
<span class="percent"><div style="width: 90%;"></div></span>
</div>
<div class="lang-box">
<p class="info-title">Bangla</p>
<span class="percent"><div style="width: 96%;"></div></span>
</div>
<div class="lang-box">
<p class="info-title">Hindi</p>
<span class="percent"><div style="width: 40%;"></div></span>
</div>
</div>
</div>
</div>
<div class="right-side">
<div class="about-me padding-top-bg">
<h1 class="heading-primary-black">About Me</h1>
<p class="discription">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam laboriosam aspernatur minima voluptatum? Hic quod dolore harum doloremque culpa ullam velit molestiae consequatur deserunt repellendus nam temporibus error provident earum corrupti est voluptatem ut iusto, voluptatum, ipsam voluptatibus perspiciatis accusantium!
</p>
</div>
<div class="experience padding-top-bg">
<h1 class="heading-primary-black">Experience</h1>
<div class="xp-box padding-top-sm">
<p class="xp-year">2019-2022</p>
<p class="xp-company">Company name | 123 Anywhere, City Name</p>
<p class="xp-position">Job Position Here</p>
<p class="discription">Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, sequi quam excepturi dolores facere illum aut reiciendis nemo explicabo praesentium facilis autem quae rem nulla aperiam repudiandae fugiat assumenda delectus aliquam asperiores? Ea rerum at odit ducimus quidem placeat, quasi expedita, voluptatibus quas quod, alias repellendus eius recusandae eos fuga quam dolorum numquam dolor omnis mollitia provident! Dicta repellendus neque voluptatibus eligendi obcaecati eum tempora, nobis nisi cum, eaque laborum?</p>
</div>
<div class="xp-box padding-top-sm">
<p class="xp-year">2017-2019</p>
<p class="xp-company">Company name | 123 Anywhere, City Name</p>
<p class="xp-position">Job Position Here</p>
<p class="discription">Lorem ipsum dolor sit amet consectetur adipisicing elit. Reiciendis corrupti ratione voluptas adipisci ex. Voluptate vel voluptatum autem illum vero eveniet atque quo. Similique ducimus alias tempore voluptas odit nulla laudantium id neque adipisci eos? Natus illum earum odio nihil repellat cum reiciendis delectus quas neque iste deserunt tempora molestias sapiente, nobis numquam eligendi praesentium vel possimus voluptate eum aspernatur sequi. Placeat, aspernatur! Similique voluptatum nesciunt libero dolorem veritatis earum.</p>
</div>
<div class="xp-box padding-top-sm">
<p class="xp-year">2015-2017</p>
<p class="xp-company">Company name | 123 Anywhere, City Name</p>
<p class="xp-position">Job Position Here</p>
<p class="discription padding-fix">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi, amet, odio voluptatum placeat facilis pariatur nisi omnis aspernatur officiis debitis atque laboriosam earum eius autem vel iusto. Nisi ullam, sint quam atque ex fugit voluptatum at voluptatibus? Porro consequatur perferendis pariatur harum eos possimus ipsa molestias. Temporibus quidem voluptatem autem hic ipsum molestiae magnam molestias quod repellendus voluptates quo laboriosam fugit, tenetur ipsam iste unde sequi, amet optio cum blanditiis.</p>
</div>
</div>
<div class="reference padding-top-bg">
<h1 class="heading-primary-black">Reference</h1>
<div class="refer-box padding-top-sm">
<div class="refer">
<h2 class="refer-name">Name Surname</h2>
<p class="job-position">Job Position, Company Name</p>
<div class="contact">
<span>Phone:</span>
<p>123-456-789</p>
</div>
<div class="contact">
<span>Email:</span>
<p>hello@companyname.com</p>
</div>
</div>
<div class="refer">
<h2 class="refer-name">Name Surname</h2>
<p class="job-position">Job Position, Company Name</p>
<div class="contact">
<span>Phone:</span>
<p>123-456-789</p>
</div>
<div class="contact">
<span>Email:</span>
<p>hello@companyname.com</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

File diff suppressed because one or more lines are too long