migrate to gtea from bistbucket

This commit is contained in:
2026-03-15 17:08:23 +07:00
commit 129ca2260c
3716 changed files with 566316 additions and 0 deletions

View File

@@ -0,0 +1,213 @@
@extends('layouts.web.master')
@section('title')
{{ __('About Us') }}
@endsection
@section('main_content')
<section class="banner-bg p-4">
<div class="container">
<p class="mb-0 fw-bolder custom-clr-dark">
{{ __('Home') }} <span class="font-monospace">></span> {{ __('About Us') }}
</p>
</div>
</section>
{{-- ================= ABOUT SECTION ================= --}}
<section class="about-section">
<div class="container">
<div class="row align-items-center g-5">
<div class="col-lg-6">
<div class="about-content">
<h6 class="about-subtitle">
{{ $page_data['headings']['about_short_title'] ?? '' }}
</h6>
<h2 class="about-title">
{{ $page_data['headings']['about_title'] ?? '' }}
</h2>
<p>
{{ $page_data['headings']['about_desc_one'] ?? '' }}
</p>
</div>
</div>
<div class="col-lg-6">
<div class="about-image-wrapper">
<img
src="{{ asset($page_data['about_image'] ?? 'assets/images/icons/img-upload.png') }}"
alt="About Image"
class="about-img"
/>
</div>
</div>
</div>
<div class="about-content mt-4">
<p>
{{ $page_data['headings']['about_desc_two'] ?? '' }}
</p>
<ul class="about-list">
@foreach ($page_data['headings']['about_us_options_text'] ?? [] as $about_us_options_text)
<li>
{{ $about_us_options_text ?? '' }}
</li>
@endforeach
</ul>
</div>
</div>
</section>
{{-- ================= FEATURE ================= --}}
@include('web.components.feature')
{{-- ================= PRICING ================= --}}
@include('web.components.plan')
{{-- ================= SIGNUP ================= --}}
@include('web.components.signup')
<style>
/* ================= SECTION ================= */
.about-section{
padding:80px 0;
background:#fafbff;
}
/* subtitle */
.about-subtitle{
color:#4f46e5;
font-weight:600;
font-size:15px;
margin-bottom:10px;
}
/* title */
.about-title{
font-size:36px;
font-weight:700;
margin-bottom:18px;
line-height:1.3;
}
/* content */
.about-content{
font-size:16px;
line-height:1.9;
color:#444;
}
/* paragraph */
.about-content p{
text-align:justify;
margin-bottom:18px;
}
/* ================= IMAGE ================= */
.about-image-wrapper{
width:90%;
margin-left:auto;
}
.about-img{
width:100%;
border-radius:16px;
box-shadow:0 20px 40px rgba(0,0,0,0.08);
transition:0.3s;
}
.about-img:hover{
transform:scale(1.02);
}
/* ================= LIST ================= */
.about-list{
margin-top:15px;
padding-left:0;
list-style:none;
}
/* hilangkan bullet bawaan browser */
.about-list li{
list-style:none;
position:relative;
padding-left:32px;
margin-bottom:12px;
line-height:1.8;
text-align:justify;
}
/* cegah marker bawaan */
.about-list li::marker{
content:"";
}
/* custom bullet */
.about-list li::before{
content:"";
position:absolute;
left:0;
top:2px;
font-size:18px;
font-weight:bold;
color:#10b981;
}
/* ================= RESPONSIVE ================= */
@media (max-width:991px){
.about-image-wrapper{
width:100%;
margin-top:20px;
}
.about-title{
font-size:28px;
}
}
</style>
@endsection

View File

@@ -0,0 +1,19 @@
@extends('layouts.web.master')
@section('title')
{{ __('Blog') }}
@endsection
@section('main_content')
<section class="banner-bg p-4">
<div class="container">
<p class="mb-0 fw-medium custom-clr-dark">
{{ __('Home') }} <span class="font-monospace">></span> {{ __('Blog List') }}
</p>
</div>
</section>
@include('web.components.blog')
@endsection

View File

@@ -0,0 +1,114 @@
@extends('layouts.web.master')
@section('title')
{{ __('Blog') }}
@endsection
@section('main_content')
{{-- Banner Code Start --}}
<section class="banner-bg p-4">
<div class="container">
<p class="mb-0 fw-medium custom-clr-dark">
{{ __('Home') }} <span class="font-monospace">></span>{{ __('Blog List') }}<span class="font-monospace">></span>
{{ __('Blog Details') }}
</p>
</div>
</section>
{{-- Blogs Section Code Start --}}
<section class="blogs-section">
<div class="container">
<div class="row">
<div class="col-xl-8">
<div class="border rounded-16 blog-details-content mb-3">
<img src="{{ asset($blog->image) }}" alt="" class="details-img rounded-top-16" />
<div class="p-3">
<div class="d-flex align-items-center">
<img src="{{ asset('assets/web/images/icons/clock.svg') }}" alt="" />
<p class="ms-1 mb-0">{{ formatted_date($blog->updated_at) }}</p>
</div>
<h6 class="mt-2">{{ $blog->title }}</h6>
<p>
{!! $blog->descriptions !!}
</p>
<div class="comments">
<h6>{{ $comments->count() }} {{ __('Comment') }}</h6>
<hr class="m-0 custom-bg-light-sm" />
@foreach ($comments as $comment)
<div class="d-flex align-items-start justify-content-between mt-3">
<div class="d-flex align-items-start">
<img src="{{ asset('assets/images/profile/avatar.svg') }}" alt="user"class="user-image rounded-circle" />
<div class="ms-2">
<h6 class="mb-0">{{ $comment->name }}</h6>
<p class="mb-2">
<small>{{ $comment->updated_at->format('F d, Y \a\t g:i a') }}</small>
</p>
<p>{{ $comment->comment }}</p>
<hr class="mx-0 custom-bg-light-sm" />
</div>
</div>
</div>
@endforeach
</div>
<h6>{{ __('Leave a Comment Here') }}</h6>
<p class="mb-2">{{ __('Your email address will not be published') }}*</p>
<hr class="m-0 custom-bg-light-sm" />
<form action="{{ route('blogs.store') }}" method="post"
class="form-section ajaxform_instant_reload">
@csrf
<input type="hidden" name="blog_id" value="{{ $blog->id }}">
<input type="hidden" name="blog_slug" value="{{ $blog->slug }}">
<div class="row">
<div class="col-md-6 mb-3">
<label for="full-name" class="col-form-label fw-medium">{{ __('Full Name') }}*</label>
<input type="text" name="name" class="form-control" id="full-name" required placeholder="{{ __('Enter your name') }}">
</div>
<div class="col-md-6 mb-3">
<label for="email" class="col-form-label fw-medium">{{ __('Email') }}*</label>
<input type="email" name="email" class="form-control" id="email" required placeholder="{{ __('Enter your email') }}">
</div>
<div class="col-md-12 mb-3">
<label for="message" class="col-form-label fw-medium">{{ __('Comment') }}*</label>
<textarea class="form-control" name="comment" id="message" rows="4" required placeholder="{{ __('Enter your comment') }}"></textarea>
</div>
</div>
<div class="py-1">
<button type="submit" class="btn theme-btn submit-btn">{{ __('Comment') }}</button>
</div>
</form>
</div>
</div>
</div>
<div class="col-xl-4">
<h6>{{ __('Recent Posts') }}</h6>
@foreach ($recent_blogs as $blog)
<div class="blog-shadow rounded-16 mb-2">
<div class="d-flex align-items-center">
<a href="{{ route('blogs.show', $blog->slug) }}">
<img src="{{ asset($blog->image ?? '') }}" class="object-fit-cover rounded-1 blog-small-image" alt="...">
</a>
<div class="mx-3">
<div class="d-flex align-items-center">
<img src="{{ asset('assets/web/images/icons/clock.svg') }}" alt="" />
<p class="ms-1 mb-0">{{ formatted_date($blog->updated_at) }}</p>
</div>
<p class="p-2nd-line-clamp mb-1">
<strong>{{ Str::limit($blog->title, 60, '...') }}</strong>
</p>
<a href="{{ route('blogs.show', $blog->slug) }}" class="custom-clr-primary">
{{ __('Read More') }}
<span class="font-monospace">></span>
</a>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</section>
@endsection

View File

@@ -0,0 +1,60 @@
<section class="blog-section p-0">
<div class="container">
<div class="row">
<div class="col-xl-8">
<div class="row">
@foreach ($blogs as $blog)
<div class="col-lg-6 pb-4">
<div class="blog-shadow rounded-16">
<div class="text-center blog-image mb-3">
<img src="{{ asset($blog->image) }}" alt="product-image"
class="w-100 h-100 object-fit-cover rounded-8" />
</div>
<div class="p-3 pt-0">
<div class="d-flex align-items-center mb-2">
<img src="assets/web/images/icons/clock.svg" alt="" />
<p class="ms-1 mb-0">{{ formatted_date($blog->updated_at) }}</p>
</div>
<h6 class="h6-line-clamp">{{ $blog->title }}</h6>
<p>
{!! Str::limit(strip_tags($blog->descriptions), 120) !!}
@if (strpos($blog->descriptions, '<img') !== false)
<span class="text-muted"></span>
@endif
</p>
<br>
<a href="{{ route('blogs.show', $blog->slug) }}"
class="custom-clr-primary">{{ $page_data['headings']['blog_btn_text'] ?? '' }}<span
class="font-monospace">></span></a>
</div>
</div>
</div>
@endforeach
</div>
</div>
<div class="col-xl-4">
@foreach ($recent_blogs as $blog)
<div class="blog-shadow rounded-16 mb-4">
<div class="d-flex align-items-center">
<img src="{{ asset($blog->image) }}"
class="object-fit-cover rounded-1 home-blog-small-image" alt="..." />
<div class="mx-3">
<div class="d-flex align-items-center">
<img src="assets/web/images/icons/clock.svg" alt="" />
<p class="ms-1 mb-0">{{ formatted_date($blog->updated_at) }}</p>
</div>
<p class="p-2nd-line-clamp mb-1">
<strong>{{ $blog->title }}</strong>
</p>
<a href="{{ route('blogs.show', $blog->slug) }}"
class="custom-clr-primary">{{ $page_data['headings']['blog_btn_text'] ?? '' }}<span
class="font-monospace">></span></a>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</section>

View File

@@ -0,0 +1,21 @@
<section class="service-section">
<div class="container">
<div class="section-title text-center">
<h2>{{ $page_data['headings']['feature_title'] ?? '' }}</h2>
</div>
<div class="row">
@foreach ($features as $feature)
<div class="col-6 col-md-4 col-lg-3 mb-4">
<div class="text-center service-card" style="background: {{ $feature->bg_color }}">
<div class="image">
<img src="{{ asset($feature->image) }}" alt="image" />
</div>
<div class="service-content">
<h6>{{ $feature->title }}</h6>
</div>
</div>
</div>
@endforeach
</div>
</div>
</section>

View File

@@ -0,0 +1,81 @@
<section class="pricing-plan-section plans-list">
<div class="container">
<div class="section-title text-center">
<h2>{{ $page_data['headings']['pricing_title'] ?? '' }}</h2>
<p class="section-description">
{{ $page_data['headings']['pricing_description'] ?? '' }}
</p>
<div class="d-flex align-items-center justify-content-center gap-4">
<div class="w-100 d-flex flex-column align-items-center">
<div class="tab-content w-100">
<div class="tab-pane fade show active" id="nav-monthly" role="tabpanel"
aria-labelledby="nav-monthly-tab">
<div class="row">
@foreach ($plans as $plan)
<div class="col-12 col-md-6 col-lg-4 mt-3">
<div class="card">
<div class="card-header py-3 border-0 font-size-update">
<p>{{ $plan['subscriptionName'] ?? '' }}</p>
<h4>
@if (($plan['offerPrice'] && $plan['subscriptionPrice'] !== null) || $plan['offerPrice'] || $plan['subscriptionPrice'])
@if ($plan['offerPrice'])
{{ currency_format($plan['offerPrice']) }}
@else
{{ currency_format($plan['subscriptionPrice']) }}
@endif
@else
@if ($plan['offerPrice'] || $plan['subscriptionPrice'])
{{ currency_format($plan['offerPrice'] ?? $plan['subscriptionPrice']) }}
@else
{{ __('Free') }}
@endif
@endif
<span class="price-span">/{{ $plan['duration'] . ' ' . __('Days') }}</span>
</h4>
</div>
<div class="card-body text-start">
<p>{{ __('Features Of Free Plan') }} 👇</p>
<ul>
@foreach ($plan['features'] ?? [] as $key => $item)
<li>
<i class="fas {{ isset($item[1]) ? 'fa-check-circle text-success' : 'fa-times-circle text-danger' }} me-1"></i>
{{ $item[0] ?? '' }}
</li>
@endforeach
@if (moduleCheck('MultiBranchAddon'))
<li><i class="fas {{ $plan->allow_multibranch == 1 ? 'fa-check-circle text-success' : 'fa-times-circle text-danger' }} me-1"></i>
{{ __('Multi-branch Allowed') }}
</li>
@endif
@if (moduleCheck('CustomDomainAddon'))
<li><i class="fas {{ $plan->addon_domain_limit > 0 ? 'fa-check-circle text-success' : 'fa-times-circle text-danger' }} me-1"></i>
{{ $plan->addon_domain_limit > 0 ? __('Addon Limit:') . ' ' . $plan->addon_domain_limit : __('Addon Domain Available?') }}
</li>
<li><i class="fas {{ $plan->subdomain_limit > 0 ? 'fa-check-circle text-success' : 'fa-times-circle text-danger' }} me-1"></i>
{{ $plan->subdomain_limit > 0 ? __('Subdomain Limit:') . ' ' . $plan->subdomain_limit : __('Subdomain Available?') }}
</li>
@endif
</ul>
<a class="btn subscribe-plan d-block mt-4 mb-2" data-plan-id="{{ $plan->id }}" data-google-url="{{ url('login/google?plan_id=') . $plan->id }}" data-twitter-url="{{ url('login/twitter?plan_id=') . $plan->id }}">{{ __('Buy Now') }}</a>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<input type="hidden" value="{{ route('get-business-categories') }}" id="get-business-categories">

View File

@@ -0,0 +1,169 @@
<!-- create free account Modal Start -->
<div class="modal fade" id="createFreeAccount" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content success-content">
<div class="modal-header border-bottom-0">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body create-account-body pt-0">
<div class="d-flex align-items-center justify-content-center">
<img class="create-account-logo" src="{{ asset(get_option('general')['common_header_logo'] ?? 'assets/img/icon/1.svg') }}" alt="">
</div>
<h4 class="text-center">{{ __('Create an Free Account!') }}</h4>
<p class="text-center">{{ __('Hey, Enter Your details to get Sign Up to your account') }}</p>
<form action="{{ route('register') }}" method="post" class="sign_up_form">
@csrf
<div class="">
<div class="mt-2 ">
<label class="custom-label">{{ __('Email') }}</label>
<input type="email" placeholder="{{ __('Enter Email Address') }}" class="form-control" name="email" />
</div>
<div class="mt-2">
<label class="custom-label">{{ __('Password') }}</label>
<input type="hidden" value="" id="plan_id" name="plan_id">
<input type="password" placeholder="{{ __('Enter Password') }}" class="form-control" name="password" />
</div>
</div>
<button type="submit" class="btn login-btn submit-btn mt-4 " type="submit">
{{ __('Sign Up') }}
</button>
</form>
@if (moduleCheck('SocialLoginAddon'))
<div class="d-flex align-items-center ">
<hr class="flex-grow-1 border-1 border-secondary-subtle" />
<span class="px-3 text-muted">{{ __('Or Continue with') }}</span>
<hr class="flex-grow-1 border-1 border-secondary-subtle" />
</div>
<div class="social-login my-3">
<div class=" d-flex align-items-center justify-content-center">
<a href="{{ url('login/twitter') }}" class="login-social x-login w-100 text-center">
<img src="{{ 'assets/img/icon/X.jpg' }}" alt="Not found">
{{ __('Log in with X') }}
</a>
</div>
<div class=" d-flex align-items-center justify-content-center">
<a href="" class="login-social google-login w-100 text-center">
<img src="{{ 'assets/img/icon/google.svg' }}" alt="">
{{ __('Log in with Google') }}
</a>
</div>
</div>
@endif
<p class="text-center m-2 have-account">{{ __('Already have an Account?') }} <a href="{{ route('login') }}">{{ __('Log In') }}</a></p>
</div>
</div>
</div>
</div>
<!-- create free account Modal end -->
<!--Verify Modal Start -->
<div class="modal fade" id="verifymodal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content verify-content">
<div class="modal-header border-bottom-0">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body verify-modal-body text-center">
<h4 class="mb-0">{{ __('Email Verification') }}</h4>
<p class="des p-8-0 pb-3">{{ __('we sent an OTP in your email address') }} <br>
<span id="dynamicEmail"></span>
</p>
<form action="{{ route('otp-submit') }}" method="post" class="verify_form">
@csrf
<div class="code-input pin-container">
<input class="pin-input otp-input" id="pin-1" type="number" name="otp[]" maxlength="1">
<input class="pin-input otp-input" id="pin-2" type="number" name="otp[]" maxlength="1">
<input class="pin-input otp-input" id="pin-3" type="number" name="otp[]" maxlength="1">
<input class="pin-input otp-input" id="pin-4" type="number" name="otp[]" maxlength="1">
<input class="pin-input otp-input" id="pin-5" type="number" name="otp[]" maxlength="1">
<input class="pin-input otp-input" id="pin-6" type="number" name="otp[]" maxlength="1">
</div>
<p class="des p-24-0 pt-2">
{{ __('Code send in') }} <span id="countdown" class="countdown"></span>
<span class="reset text-primary cursor-pointer" id="otp-resend" data-route="{{ route('otp-resend') }}">{{ __('Resend code') }}</span>
</p>
<button class="verify-btn btn btn-outline-danger submit-btn">{{ __('Verify') }}</button>
</form>
</div>
</div>
</div>
</div>
<!--Verify Modal end -->
<!-- setup profile Modal Start -->
<div class="modal fade" id="setupAccountModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content success-content">
<div class="modal-header border-bottom-0">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body setup-account-body pt-0">
<h4 class="text-center mb-3">{{ __('Setup Your Profile') }}</h4>
<form action="{{ route('business-setup') }}" method="post" class="business_setup_form">
@csrf
<div class="">
<div class="mt-2">
<label class="custom-label">{{ __('Company/Business Name') }} <span class="text-danger">*</span></label>
<input type="text" placeholder="{{ __('Enter company/business name') }}" class="form-control" name="companyName" required />
</div>
<div class="mt-2">
<label class="custom-label">{{ __('Business Category') }}</label>
<select class="form-control business-categories" name="business_category_id">
<option value="">{{ __('Select a category') }}</option>
</select>
</div>
<div class="mt-2">
<label class="custom-label">{{ __('Opening Balance') }}</label>
<input type="number" step="any" placeholder="{{ __('Ex: $500') }}" class="form-control" name="shopOpeningBalance" />
</div>
<div class="mt-2">
<label class="custom-label">{{ __('Phone') }}</label>
<input type="text" placeholder="{{ __('Enter phone number') }}" class="form-control" name="phoneNumber" />
</div>
<div class="mt-2">
<label class="custom-label">{{ __('Company Address') }}</label>
<textarea placeholder="{{ __('Enter company address') }}" class="form-control" name="address"></textarea>
</div>
</div>
<button type="submit" class="submit-btn btn btn-primary text-white mt-4 btn-outline-danger" type="submit">
{{ __('Continue') }}
</button>
</form>
</div>
</div>
</div>
</div>
<!-- setup profile Modal end -->
<!-- success Modal Start -->
<div class="modal fade" id="successModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content success-content">
<div class="modal-header border-bottom-0">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body success-modal-body text-center">
<img src="{{ asset(get_option('general')['common_header_logo'] ?? 'assets/img/icon/1.svg') }}" alt="">
<h4>{{ __('Successfully!') }}</h4>
<p>{{ __('Congratulations, Your account has been') }} <br> {{ __('successfully created') }}</p>
<a href="{{ get_option('general')['app_link'] ?? '' }}" target="_blank" class="cancel-btn btn btn-outline-danger">{{ __('Download Apk') }}</a>
</div>
</div>
</div>
</div>
<!--success Modal end -->

View File

@@ -0,0 +1,514 @@
@extends('layouts.web.master')
@section('title')
{{ __('Terms & Conditions') }}
@endsection
@section('main_content')
<div id="reading-progress"></div>
<button id="toc-toggle">
Contents
</button>
<section class="banner-bg py-4">
<div class="container">
<p class="mb-0 fw-semibold custom-clr-dark">
{{ __('Home') }} <span class="mx-1">></span> {{ __('Terms & Conditions') }}
</p>
</div>
</section>
@php
function generateTermsHTML($text){
if(!$text) return ['html'=>'','toc'=>[]];
$text=e($text);
$lines=preg_split("/\r\n|\n|\r/",$text);
$html="";
$toc=[];
$inList=false;
foreach($lines as $line){
$line=trim($line);
if($line===''){
if($inList){
$html.="</ul>";
$inList=false;
}
continue;
}
/* main heading */
if(preg_match('/^(\d+)\.\s+(.*)$/',$line,$match)){
if($inList){
$html.="</ul>";
$inList=false;
}
$id="section-".$match[1];
$toc[]=[
'id'=>$id,
'title'=>$match[1].". ".$match[2]
];
$html.="<h3 id='$id' class='terms-heading'>
{$match[1]}. {$match[2]}
<a href='#$id' class='anchor-link'>#</a>
</h3>";
continue;
}
/* sub heading */
if(preg_match('/^(\d+\.\d+)\s+(.*)$/',$line,$match)){
if($inList){
$html.="</ul>";
$inList=false;
}
$html.="<h4 class='terms-subheading'>{$match[1]} {$match[2]}</h4>";
continue;
}
/* bullet */
if(preg_match('/^[•\-]\s*(.*)$/u',$line,$match)){
if(!$inList){
$html.="<ul class='terms-list'>";
$inList=true;
}
$html.="<li>{$match[1]}</li>";
continue;
}
/* paragraph */
if($inList){
$html.="</ul>";
$inList=false;
}
$html.="<p>$line</p>";
}
if($inList){
$html.="</ul>";
}
return[
'html'=>$html,
'toc'=>$toc
];
}
$data1=generateTermsHTML($term_condition->value['description_one'] ?? '');
$data2=generateTermsHTML($term_condition->value['description_two'] ?? '');
$toc=array_merge($data1['toc'],$data2['toc']);
@endphp
<section class="terms-wrapper py-5">
<div class="container">
<div class="row g-4">
<div class="col-lg-3">
<div class="terms-sidebar">
<div class="sidebar-title">
Contents
</div>
<input type="text" id="toc-search" placeholder="Search section...">
<ul id="toc-list">
@foreach($toc as $item)
<li>
<a href="#{{ $item['id'] }}">
{{ $item['title'] }}
</a>
</li>
@endforeach
</ul>
</div>
</div>
<div class="col-lg-9">
<div class="terms-card">
<h1 class="terms-title">
{{ $term_condition->value['term_title'] ?? '' }}
</h1>
<div class="terms-content">
{!! $data1['html'] !!}
</div>
<div class="terms-content mt-4">
{!! $data2['html'] !!}
</div>
</div>
</div>
</div>
</div>
</section>
<style>
/* progress bar */
#reading-progress{
position:fixed;
top:0;
left:0;
height:3px;
background:linear-gradient(90deg,#6366f1,#8b5cf6);
width:0%;
z-index:9999;
}
/* mobile button */
#toc-toggle{
display:none;
position:fixed;
bottom:20px;
right:20px;
background:#6366f1;
color:#fff;
border:none;
padding:12px 16px;
border-radius:8px;
font-size:14px;
box-shadow:0 10px 25px rgba(0,0,0,.15);
z-index:1000;
}
/* wrapper */
.terms-wrapper{
background:linear-gradient(180deg,#f8fafc,#f1f5f9);
}
/* card */
.terms-card{
background:rgba(255,255,255,0.95);
backdrop-filter:blur(8px);
padding:55px;
border-radius:16px;
box-shadow:0 15px 40px rgba(0,0,0,.06);
transition:.3s;
}
.terms-card:hover{
box-shadow:0 20px 50px rgba(0,0,0,.08);
}
/* title */
.terms-title{
font-size:34px;
font-weight:700;
margin-bottom:35px;
}
/* typography */
.terms-content{
font-size:16px;
line-height:1.9;
color:#334155;
text-align:justify;
}
.terms-content p{
margin-bottom:15px;
text-align:justify;
text-indent:28px;
}
/* heading */
.terms-heading{
font-size:23px;
font-weight:700;
margin-top:45px;
margin-bottom:12px;
padding-left:12px;
border-left:4px solid #6366f1;
position:relative;
}
/* anchor */
.anchor-link{
margin-left:8px;
font-size:13px;
opacity:0;
text-decoration:none;
color:#94a3b8;
}
.terms-heading:hover .anchor-link{
opacity:1;
}
/* sub */
.terms-subheading{
font-size:18px;
font-weight:600;
margin-top:25px;
margin-bottom:6px;
}
/* list */
.terms-list{
list-style:none;
padding:0;
margin:12px 0;
}
.terms-list li{
padding-left:22px;
position:relative;
margin-bottom:7px;
}
.terms-list li::before{
content:"";
position:absolute;
left:0;
font-size:18px;
color:#6366f1;
}
/* sidebar */
.terms-sidebar{
position:sticky;
top:110px;
background:#fff;
padding:22px;
border-radius:14px;
box-shadow:0 8px 25px rgba(0,0,0,.05);
max-height:75vh;
overflow:auto;
}
.sidebar-title{
font-weight:700;
margin-bottom:10px;
}
/* search */
#toc-search{
width:100%;
padding:8px 10px;
border-radius:6px;
border:1px solid #e2e8f0;
margin-bottom:12px;
font-size:14px;
}
/* links */
.terms-sidebar ul{
list-style:none;
padding:0;
margin:0;
}
.terms-sidebar li{
margin-bottom:7px;
}
.terms-sidebar a{
display:block;
text-decoration:none;
font-size:14px;
padding:6px 8px;
border-radius:6px;
color:#475569;
transition:.2s;
}
.terms-sidebar a:hover{
background:#eef2ff;
color:#6366f1;
}
.terms-sidebar a.active{
background:#6366f1;
color:#fff;
}
/* mobile */
@media(max-width:992px){
.terms-sidebar{
position:fixed;
left:-280px;
top:0;
width:260px;
height:100%;
z-index:1000;
transition:.3s;
}
.terms-sidebar.open{
left:0;
}
#toc-toggle{
display:block;
}
}
</style>
<script>
/* progress bar */
window.addEventListener("scroll",function(){
let winScroll=document.documentElement.scrollTop;
let height=document.documentElement.scrollHeight-document.documentElement.clientHeight;
let scrolled=(winScroll/height)*100;
document.getElementById("reading-progress").style.width=scrolled+"%";
});
/* scroll spy */
const sections=document.querySelectorAll("h3[id]");
const navLinks=document.querySelectorAll("#toc-list a");
window.addEventListener("scroll",()=>{
let current="";
sections.forEach(section=>{
const sectionTop=section.offsetTop;
if(pageYOffset>=sectionTop-120){
current=section.getAttribute("id");
}
});
navLinks.forEach(link=>{
link.classList.remove("active");
if(link.getAttribute("href")==="#"+current){
link.classList.add("active");
}
});
});
/* sidebar search */
document.getElementById("toc-search").addEventListener("keyup",function(){
let value=this.value.toLowerCase();
document.querySelectorAll("#toc-list li").forEach(li=>{
let text=li.innerText.toLowerCase();
li.style.display=text.includes(value) ? "block" : "none";
});
});
/* mobile toggle */
document.getElementById("toc-toggle").onclick=function(){
document.querySelector(".terms-sidebar").classList.toggle("open");
};
</script>
@endsection

View File

@@ -0,0 +1,74 @@
@extends('layouts.web.master')
@section('title')
{{ __('Contact us') }}
@endsection
@section('main_content')
<section class="banner-bg p-4">
<div class="container">
<p class="mb-0 fw-bolder custom-clr-dark">
{{ __('Home') }} <span class="font-monospace">></span> {{ __('Contact Us') }}
</p>
</div>
</section>
<section class="contact-section">
<div class="container">
<div class="section-title text-center">
<h2>{{ $page_data['headings']['contact_us_title'] ?? '' }}</h2>
<p>
{{ $page_data['headings']['contact_us_description'] ?? '' }}
</p>
</div>
<div class="row">
<div class="col-lg-6 mb-3 align-self-center">
<div class="contact-image">
<img src="{{ asset($page_data['contact_us_icon'] ?? 'assets/images/icons/img-upload.png') }}"
alt="image" class="w-100 object-fit-cover rounded-2" />
</div>
</div>
<div class="col-lg-6 mb-3 align-self-center">
<form action="{{ route('contact.store') }}" method="post" class="ajaxform_instant_reload">
@csrf
<div class="row contact">
<div class="col-md-12 mb-2">
<label for="full-name" class="col-form-label fw-medium">{{ __('Full Name') }} <span class="text-orange">*</span></label>
<input type="text" name="name" class="form-control" required id="full-name" placeholder="{{ __('Enter full name') }}" />
</div>
<div class="col-md-12 mb-2">
<label for="phone-number" class="col-form-label fw-medium">{{ __('Phone Number') }} <span
class="text-orange">*</span></label>
<input type="number" name="phone" class="form-control" required id="phone-number"
placeholder="{{ __('Enter phone number') }}" />
</div>
<div class="col-md-12 mb-2">
<label for="email" class="col-form-label fw-medium">{{ __('Email') }} <span
class="text-orange">*</span></label>
<input type="email" name="email" class="form-control" required id="email"
placeholder="{{ __('Enter email address') }}" />
</div>
<div class="col-md-12 mb-2">
<label for="company-name" class="col-form-label fw-medium">{{ __('Company') }}
<small class="text-body-secondary">{{__('(Optional)')}}</small></label>
<input type="text" name="company_name" class="form-control"
placeholder="{{ __('Enter company name') }}" />
</div>
<div class="col-md-12 mb-2">
<label for="message" class="col-form-label fw-medium">{{ __('Message') }}</label>
<textarea name="message" class="form-control" required rows="4" placeholder="{{ __('Enter your message') }}"></textarea>
</div>
<div class="py-1 mt-3">
<button type="submit" class="custom-btn custom-message-btn submit-btn">
{{ $page_data['headings']['contact_us_btn_text'] ?? '' }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
@endsection

View File

@@ -0,0 +1,35 @@
@extends('layouts.web.master')
@section('title')
{{ __('Data Deletion Instructions') }}
@endsection
@section('main_content')
<section class="banner-bg p-4">
<div class="container">
<p class="mb-0 fw-bolder custom-clr-dark">
{{ __('Home') }} <span class="font-monospace">></span> {{ __('Data Deletion Instructions') }}
</p>
</div>
</section>
<section class="terms-policy-section">
<div class="container">
<h2 class="mb-2">{{__('Data Deletion Instructions')}}</h2>
<div>
<div>
<p>{{__('If you want to delete your data from our system, please follow these steps:')}}</p>
</div>
<div class="mt-3">
<p>{{__('Send an email to [your-email@example.com] with the subject line “Delete My Data”.')}}</p>
</div>
<div class="mt-3">
<p>{{__('Include your name and the email address you used to register.')}}</p>
</div>
<div class="mt-3">
<p>{{__('We will process your request and confirm deletion within 7 business days.')}}</p>
</div>
</div>
</div>
</section>
@endsection

View File

@@ -0,0 +1,195 @@
@extends('layouts.web.master')
@section('title')
{{ __(env('APP_NAME')) }}
@endsection
@section('main_content')
<section class="home-banner-section" style="background-image: url('{{ asset($page_data['slider_bg_img'] ?? 'assets/web/images/banner/banner1.png') }}');">
<div class="container">
<div class="row align-items-center pb-5 py-lg-5">
<div class="col-lg-6 order-2 order-lg-1 mt-5 mt-lg-0">
<div class="banner-content">
<h1>
{{ $page_data['headings']['slider_title'] ?? '' }}
<span
data-typer-targets='{"targets": [
@foreach ($page_data['headings']['silder_shop_text'] ?? [] as $key => $shop)
"{{ $shop }}"@if (!$loop->last),@endif @endforeach
]}'>
</span>
</h1>
<p>
{{ $page_data['headings']['slider_description'] ?? '' }}
</p>
<div class="demo-btn-group mb-3">
<a href="{{ url($page_data['headings']['slider_btn1_link'] ?? '') }}"
class="custom-btn custom-primary-btn">
{{ $page_data['headings']['slider_btn1'] ?? '' }}<i class="fas fa-arrow-right ms-1"></i>
</a>
<a href="" class="mt-1 video-button d-flex align-items-center gap-2"
data-bs-toggle="modal" data-bs-target="#watch-video-modal">
<span class="play-button"></span>
<span class="text-white ms-3">{{ $page_data['headings']['slider_btn2'] ?? '' }}</span>
</a>
</div>
<div class="banner-scan">
<img src="{{ asset($page_data['scanner_image'] ?? 'assets/images/icons/img-upload.png') }}"
alt="" />
<p>
{{ $page_data['headings']['slider_scanner_text'] ?? '' }}
</p>
</div>
<div class="play-store mt-3">
<a href="{{ $page_data['headings']['footer_apple_app_link'] ?? '' }}" target="_blank">
<img src="{{ asset($page_data['footer_apple_app_image'] ?? 'assets/images/icons/img-upload.png') }}"
alt="image" />
</a>
<a href="{{ $page_data['headings']['footer_google_play_app_link'] ?? '' }}" target="_blank">
<img src="{{ asset($page_data['footer_google_app_image'] ?? 'assets/images/icons/img-upload.png') }}"
alt="image" />
</a>
</div>
</div>
</div>
<div class="col-lg-6 order-1 order-lg-2">
<div class="banner-img text-center">
<img src="{{ asset($page_data['slider_image'] ?? 'assets/images/icons/img-upload.png') }}"
alt="banner-img" class=" move-image" />
</div>
</div>
</div>
</div>
</section>
<div class="modal modal-custom-design" id="watch-video-modal" data-bs-backdrop="static" data-bs-keyboard="false"
tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-lg modal-dialog-centered">
<div class="modal-content">
<div class="modal-header border-0 pb-0">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<iframe width="100%" height="400px" src="{{ $page_data['headings']['slider_btn2_link'] ?? '' }}"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
{{-- Feature Code Start --}}
@include('web.components.feature')
{{-- Interface Code Start --}}
<section class="slick-slider-section bg-pos">
<div class="container">
<div class="section-title text-center">
<h2>{{ $page_data['headings']['interface_title'] ?? '' }}</h2>
<p class="max-w-600 mx-auto section-description">
{{ $page_data['headings']['interface_description'] ?? '' }}
</p>
</div>
<div class="row app-slide">
@foreach ($interfaces as $interface)
<div class="image d-flex align-items-center justify-content-center p-2">
<img src="{{ asset($interface->image) }}" alt="phone" />
</div>
@endforeach
</div>
</div>
</section>
{{-- Watch demo Code Start --}}
<section class="watch-demo-section watch-demo-two bg-FFFFFF">
<div class="container">
<div class="section-title text-center">
<h2>{{ $page_data['headings']['watch_title'] ?? '' }}</h2>
<p class="section-description">
{{ $page_data['headings']['watch_description'] ?? '' }}
</p>
</div>
<div class="video-wrapper shadow">
<img src="{{ asset($page_data['watch_image'] ?? 'assets/images/icons/img-upload.png') }}" alt="watch" />
<a class="play-btn" data-bs-toggle="modal" data-bs-target="#play-video-modal"><i class="fa fa-play"
aria-hidden="true"></i></a>
</div>
</div>
</section>
<div class="modal modal-custom-design" id="play-video-modal" data-bs-backdrop="static" data-bs-keyboard="false"
tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-lg modal-dialog-centered">
<div class="modal-content">
<div class="modal-header border-0 pb-0">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<iframe width="100%" height="400px" src="{{ $page_data['headings']['watch_btn_link'] ?? '' }}"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
{{-- Pricing-Plan-section demo Code Start --}}
@include('web.components.plan')
{{-- Testimonial Section Start --}}
<section class="customer-section bg-pos">
<div class="container mb-4">
<div class="section-title text-center">
<h2>{{ $page_data['headings']['testimonial_title'] ?? '' }}</h2>
</div>
<div class="customer-slider-section">
<div class="row">
@foreach ($testimonials as $testimonial)
<div>
<div class="customer-card">
<img src="{{ asset($testimonial->client_image) }}" alt="" />
<p>{{ $testimonial->text }}</p>
<div class="w-100 pt-3 d-flex align-items-center flex-column border-top">
<h5 class="m-0">{{ $testimonial->client_name }}</h5>
<small>{{ $testimonial->work_at }}</small>
<ul class="d-flex align-items-center justify-content-center gap-2">
@for ($i = 0; $i < 5; $i++)
<li><i class="fa fa-star" aria-hidden="true"></i></li>
@endfor
</ul>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</section>
{{-- Blogs Section Code Start --}}
<section class="blogs-section ">
<div class="container">
<div class="section-title d-flex align-items-center justify-content-between flex-wrap">
<h2>{{ $page_data['headings']['blog_title'] ?? '' }}</h2>
<a href="{{ url($page_data['headings']['blog_view_all_btn_link'] ?? '') }}"
class="custom-btn custom-outline-btn bg-white">
{{ $page_data['headings']['blog_view_all_btn_text'] ?? '' }}<i class="fas fa-arrow-right ms-1"></i>
</a>
</div>
</div>
@include('web.components.blog')
</section>
@include('web.components.signup')
@endsection

View File

@@ -0,0 +1,19 @@
@extends('layouts.web.master')
@section('title')
{{ __('Plan') }}
@endsection
@section('main_content')
<section class="banner-bg p-4">
<div class="container">
<p class="mb-0 fw-bolder custom-clr-dark">
{{ __('Home') }} <span class="font-monospace">></span> {{ __('Pricing Plan') }}
</p>
</div>
</section>
@include('web.components.plan')
@include('web.components.signup')
@endsection

View File

@@ -0,0 +1,507 @@
@extends('layouts.web.master')
@section('title')
{{ __('Privacy Policy') }}
@endsection
@section('main_content')
<div id="reading-progress"></div>
<button id="toc-toggle">
Contents
</button>
<section class="banner-bg py-4">
<div class="container">
<p class="mb-0 fw-semibold custom-clr-dark">
{{ __('Home') }} <span class="mx-1">></span> {{ __('Privacy Policy') }}
</p>
</div>
</section>
@php
function generatePolicyHTML($text){
if(!$text) return ['html'=>'','toc'=>[]];
$text=e($text);
$lines=preg_split("/\r\n|\n|\r/",$text);
$html="";
$toc=[];
$inList=false;
foreach($lines as $line){
$line=trim($line);
if($line===''){
if($inList){
$html.="</ul>";
$inList=false;
}
continue;
}
/* main heading */
if(preg_match('/^(\d+)\.\s+(.*)$/',$line,$match)){
if($inList){
$html.="</ul>";
$inList=false;
}
$id="section-".$match[1];
$toc[]=[
'id'=>$id,
'title'=>$match[1].". ".$match[2]
];
$html.="<h3 id='$id' class='policy-heading'>
{$match[1]}. {$match[2]}
<a href='#$id' class='anchor-link'>#</a>
</h3>";
continue;
}
/* sub heading */
if(preg_match('/^(\d+\.\d+)\s+(.*)$/',$line,$match)){
if($inList){
$html.="</ul>";
$inList=false;
}
$html.="<h4 class='policy-subheading'>{$match[1]} {$match[2]}</h4>";
continue;
}
/* bullet */
if(preg_match('/^[•\-]\s*(.*)$/u',$line,$match)){
if(!$inList){
$html.="<ul class='policy-list'>";
$inList=true;
}
$html.="<li>{$match[1]}</li>";
continue;
}
/* paragraph */
if($inList){
$html.="</ul>";
$inList=false;
}
$html.="<p>$line</p>";
}
if($inList){
$html.="</ul>";
}
return[
'html'=>$html,
'toc'=>$toc
];
}
$data1=generatePolicyHTML($privacy_policy->value['description_one'] ?? '');
$data2=generatePolicyHTML($privacy_policy->value['description_two'] ?? '');
$toc=array_merge($data1['toc'],$data2['toc']);
@endphp
<section class="policy-wrapper py-5">
<div class="container">
<div class="row g-4">
{{-- SIDEBAR --}}
<div class="col-lg-3">
<div class="policy-sidebar">
<div class="sidebar-title">
Contents
</div>
<input type="text" id="toc-search" placeholder="Search section...">
<ul id="toc-list">
@foreach($toc as $item)
<li>
<a href="#{{ $item['id'] }}">
{{ $item['title'] }}
</a>
</li>
@endforeach
</ul>
</div>
</div>
{{-- CONTENT --}}
<div class="col-lg-9">
<div class="policy-card">
<h1 class="policy-title">
{{ $privacy_policy->value['privacy_title'] ?? ''}}
</h1>
<div class="policy-content">
{!! $data1['html'] !!}
</div>
<div class="policy-content mt-4">
{!! $data2['html'] !!}
</div>
</div>
</div>
</div>
</div>
</section>
<style>
/* progress bar */
#reading-progress{
position:fixed;
top:0;
left:0;
height:3px;
background:linear-gradient(90deg,#6366f1,#8b5cf6);
width:0%;
z-index:9999;
}
/* mobile button */
#toc-toggle{
display:none;
position:fixed;
bottom:20px;
right:20px;
background:#6366f1;
color:#fff;
border:none;
padding:12px 16px;
border-radius:8px;
font-size:14px;
box-shadow:0 10px 25px rgba(0,0,0,.15);
z-index:1000;
}
/* wrapper */
.policy-wrapper{
background:linear-gradient(180deg,#f8fafc,#f1f5f9);
}
/* card */
.policy-card{
background:rgba(255,255,255,0.95);
backdrop-filter:blur(8px);
padding:55px;
border-radius:16px;
box-shadow:0 15px 40px rgba(0,0,0,.06);
transition:.3s;
}
.policy-card:hover{
box-shadow:0 20px 50px rgba(0,0,0,.08);
}
/* title */
.policy-title{
font-size:34px;
font-weight:700;
margin-bottom:35px;
}
/* typography */
.policy-content{
font-size:16px;
line-height:1.9;
color:#334155;
}
.policy-content p{
margin-bottom:15px;
}
/* heading */
.policy-heading{
font-size:23px;
font-weight:700;
margin-top:45px;
margin-bottom:12px;
position:relative;
padding-left:12px;
border-left:4px solid #6366f1;
}
/* anchor */
.anchor-link{
margin-left:8px;
font-size:13px;
opacity:0;
text-decoration:none;
color:#94a3b8;
}
.policy-heading:hover .anchor-link{
opacity:1;
}
/* sub heading */
.policy-subheading{
font-size:18px;
font-weight:600;
margin-top:25px;
margin-bottom:6px;
}
/* list */
.policy-list{
list-style:none;
padding:0;
margin:12px 0;
}
.policy-list li{
padding-left:22px;
position:relative;
margin-bottom:7px;
}
.policy-list li::before{
content:"";
position:absolute;
left:0;
font-size:18px;
color:#6366f1;
}
/* sidebar */
.policy-sidebar{
position:sticky;
top:110px;
background:#fff;
padding:22px;
border-radius:14px;
box-shadow:0 8px 25px rgba(0,0,0,.05);
max-height:75vh;
overflow:auto;
}
.sidebar-title{
font-weight:700;
margin-bottom:10px;
}
/* search */
#toc-search{
width:100%;
padding:8px 10px;
border-radius:6px;
border:1px solid #e2e8f0;
margin-bottom:12px;
font-size:14px;
}
/* links */
.policy-sidebar ul{
list-style:none;
padding:0;
margin:0;
}
.policy-sidebar li{
margin-bottom:7px;
}
.policy-sidebar a{
display:block;
text-decoration:none;
font-size:14px;
padding:6px 8px;
border-radius:6px;
color:#475569;
transition:.2s;
}
.policy-sidebar a:hover{
background:#eef2ff;
color:#6366f1;
}
.policy-sidebar a.active{
background:#6366f1;
color:#fff;
}
/* mobile */
@media(max-width:992px){
.policy-sidebar{
position:fixed;
left:-280px;
top:0;
width:260px;
height:100%;
z-index:1000;
transition:.3s;
}
.policy-sidebar.open{
left:0;
}
#toc-toggle{
display:block;
}
}
</style>
<script>
/* progress bar */
window.addEventListener("scroll",function(){
let winScroll=document.documentElement.scrollTop;
let height=document.documentElement.scrollHeight-document.documentElement.clientHeight;
let scrolled=(winScroll/height)*100;
document.getElementById("reading-progress").style.width=scrolled+"%";
});
/* scroll spy */
const sections=document.querySelectorAll("h3[id]");
const navLinks=document.querySelectorAll("#toc-list a");
window.addEventListener("scroll",()=>{
let current="";
sections.forEach(section=>{
const sectionTop=section.offsetTop;
if(pageYOffset>=sectionTop-120){
current=section.getAttribute("id");
}
});
navLinks.forEach(link=>{
link.classList.remove("active");
if(link.getAttribute("href")==="#"+current){
link.classList.add("active");
}
});
});
/* search */
document.getElementById("toc-search").addEventListener("keyup",function(){
let value=this.value.toLowerCase();
document.querySelectorAll("#toc-list li").forEach(li=>{
let text=li.innerText.toLowerCase();
li.style.display=text.includes(value) ? "block" : "none";
});
});
/* mobile toggle */
document.getElementById("toc-toggle").onclick=function(){
document.querySelector(".policy-sidebar").classList.toggle("open");
};
</script>
@endsection

View File

@@ -0,0 +1,17 @@
@extends('layouts.web.master')
@section('title')
{{ __('Term And Condition') }}
@endsection
@section('main_content')
<section class="banner-bg p-4">
<div class="container">
<p class="mb-0 fw-bolder custom-clr-dark">
{{ __('Home') }} <span class="font-monospace">></span> {{ __('Terms And Conditions') }}
</p>
</div>
</section>
@include('web.components.term')
@endsection