firstcommit

This commit is contained in:
2025-08-17 16:23:14 +05:45
commit 76bf4c0a18
2648 changed files with 362795 additions and 0 deletions

View File

View File

@@ -0,0 +1,29 @@
@extends('admin::layouts.master')
@section('title')
Setting
@endsection
@section('breadcrumb')
@php
$breadcrumbData = [
[
'title' => 'Setting',
'link' => null,
],
[
'title' => 'General',
'link' => null,
],
];
@endphp
@include('admin::layouts.partials.breadcrumb', $breadcrumbData)
@endsection
@section('content')
<div class="content-wrapper container-xxl p-0">
<div class="content-body">
@include('setting::partial.form')
</div>
</div>
@endsection

View File

@@ -0,0 +1,13 @@
@extends('admin::layouts.master')
@section('title')
Setting
@endsection
@section('content')
<div class="content-wrapper container-xxl p-0">
<div class="content-body">
@include('setting::partial.form')
</div>
</div>
@endsection

View File

@@ -0,0 +1,9 @@
@extends('setting::layouts.master')
@section('content')
<h1>Hello World</h1>
<p>
This view is loaded from module: {!! config('setting.name') !!}
</p>
@endsection

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Setting Module - {{ config('app.name', 'Laravel') }}</title>
<meta name="description" content="{{ $description ?? '' }}">
<meta name="keywords" content="{{ $keywords ?? '' }}">
<meta name="author" content="{{ $author ?? '' }}">
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
{{-- Vite CSS --}}
{{-- {{ module_vite('build-setting', 'resources/assets/sass/app.scss') }} --}}
</head>
<body>
@yield('content')
{{-- Vite JS --}}
{{-- {{ module_vite('build-setting', 'resources/assets/js/app.js') }} --}}
</body>

View File

@@ -0,0 +1,46 @@
<div class="tab-pane fade show" id="pills-additional" role="tabpanel" aria-labelledby="pills-additional-tab">
<form action="{{ route('setting.additional.storeOrUpdate') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="card mb-4">
<h5 class="card-header">Additional Information</h5>
<hr class="my-0" />
<div class="card-body">
<div class="row">
<div class="mb-3 col-md-12">
<label class="form-label">Additional Script</label>
<textarea name="" id="mainTextarea" class="d-none"> {{ old('additional_script', $additionalSettings['additional_script'] ?? '') }}</textarea>
<textarea name="additional_script" rows="10" placeholder="Extra Script.." class="form-control full-editor"
id="editorTextarea"></textarea>
@error('additional_script')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-md-12">
<label class="form-label">Map Iframe</label>
<textarea name="map" rows="5" class="form-control mapInput">
{{ old('map', $additionalSettings['map'] ?? '') }}
</textarea>
@error('map')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mapContainer"></div>
</div>
<button type="submit" class="btn btn-primary me-2">Save Setting</button>
</div>
</div>
</form>
</div>
@push('required-styles')
@include('admin::vendor.full_editor.style')
@endpush
@push('required-scripts')
@include('admin::vendor.textareaContentDisplay.script')
@include('admin::vendor.full_editor.script')
@include('admin::vendor.mapDisplay.script')
@endpush

View File

@@ -0,0 +1,84 @@
<div class="tab-pane fade show" id="pills-connection" role="tabpanel" aria-labelledby="pills-connection-tab">
<form action="{{ route('setting.connection.storeOrUpdate') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="card mb-4">
<h5 class="card-header">Social Media Details</h5>
<!-- Connections -->
<hr class="my-0" />
<div class="card-body">
<div class="row">
<div class="repeater">
<div data-repeater-list="socialShares">
<div class="mb-1 d-flex justify-content-end">
<button class="btn btn-primary" data-repeater-create>
<i class="bx bx-plus me-1"></i>
<span class="align-middle">Add</span>
</button>
</div>
@foreach ($socialShares as $socialShare)
<div data-repeater-item>
<div class="row">
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
<label class="form-label" for="{{ $socialShare->name }}">Name</label>
<input type="text" id="{{ $socialShare->name }}" class="form-control"
name="social_site" value="{{ old('name', $socialShare->name ?? '') }}"
placeholder="facebook" readonly />
@error('social_site')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
<label class="form-label" for="{{ $socialShare->detail }}">Link</label>
<input type="text" id="{{ $socialShare->detail }}" class="form-control"
name="social_link" value="{{ old('name', $socialShare->detail ?? '') }}"
placeholder="https://facebook.com/jhon-doe" />
@error('social_link')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-lg-12 col-xl-2 col-4 d-flex align-items-center mb-0">
<button class="btn btn-label-danger mt-4" data-repeater-delete>
<i class="bx bx-x me-1"></i>
<span class="align-middle">Delete</span>
</button>
</div>
</div>
<hr />
</div>
@endforeach
<div data-repeater-item>
<div class="row">
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
<label class="form-label" for="">Name</label>
<input type="text" id="" class="form-control" name="social_site"
value="{{ old('name') }}" placeholder="facebook" />
</div>
<div class="mb-3 col-lg-6 col-xl-3 col-4 mb-0">
<label class="form-label" for="">Link</label>
<input type="text" id="" class="form-control" name="social_link"
value="{{ old('name') }}" placeholder="https://facebook.com/jhon-doe" />
</div>
<div class="mb-3 col-lg-12 col-xl-2 col-4 d-flex align-items-center mb-0">
<button class="btn btn-label-danger mt-4" data-repeater-delete>
<i class="bx bx-x me-1"></i>
<span class="align-middle">Delete</span>
</button>
</div>
</div>
<hr />
</div>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary me-2">Save Setting</button>
</div>
</div>
</form>
</div>
@push('required-scripts')
@include('admin::vendor.repeater.script')
@endpush

View File

@@ -0,0 +1,37 @@
<div class="row">
<div class="col-md-12">
{{-- All Tabs --}}
<ul class="nav nav-pills flex-column flex-md-row mb-3" id="pills-tab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="pills-general-tab" data-bs-toggle="pill"
data-bs-target="#pills-general" type="button" role="tab" aria-controls="pills-general"
aria-selected="true"><i class="bx bx-user me-1"></i> General</button>
</li>
<li class="nav-item">
<button class="nav-link" id="pills-connection-tab" data-bs-toggle="pill"
data-bs-target="#pills-connection" type="button" role="tab" aria-controls="pills-connection"
aria-selected="true"><i class="bx bx-network-chart me-1"></i>
Connection</button>
</li>
<li class="nav-item">
<button class="nav-link" id="pills-seo-tab" data-bs-toggle="pill" data-bs-target="#pills-seo"
type="button" role="tab" aria-controls="pills-seo" aria-selected="true"><i
class="bx bx-world me-1"></i>
Seo</button>
</li>
<li class="nav-item">
<button class="nav-link" id="pills-additional-tab" data-bs-toggle="pill"
data-bs-target="#pills-additional" type="button" role="tab" aria-controls="pills-additional"
aria-selected="true"><i class="bx bx-copy-alt me-1"></i>
Additional</button>
</li>
</ul>
<div class="tab-content px-0" id="pills-tabContent">
{{-- Show related tabs data --}}
@include('setting::partial.general')
@include('setting::partial.connection')
@include('setting::partial.seo')
@include('setting::partial.additional')
</div>
</div>
</div>

View File

@@ -0,0 +1,166 @@
<div class="tab-pane fade show active" id="pills-general" role="tabpanel" aria-labelledby="pills-general-tab">
<form action="{{ route('setting.general.storeOrUpdate') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="card mb-4">
<h5 class="card-header">Basic Details</h5>
<div class="card-body">
<div class="row">
<div class="col-6 col-md-6 col-lg-6 d-flex align-items-start align-items-sm-center gap-4">
<img src="{{ asset(!empty($settingImage['primary_image']) ? 'storage/uploads/' . $settingImage['primary_image'] : 'backend/uploads/images/no-Image.jpg') }}"
alt="site-image input-file" class="d-block rounded show-image" height="100"
width="100" />
<div class="button-wrapper">
<label for="upload" class="btn btn-primary me-2 mb-4" tabindex="0">
<span class="d-none d-sm-block">Upload primary photo</span>
<i class="bx bx-upload d-block d-sm-none"></i>
<input type="file" id="upload" class="input-file" name="primary_image" hidden
accept="image/png, image/jpeg" />
</label>
<button type="button" class="btn btn-label-secondary image-reset mb-4">
<i class="bx bx-reset d-block d-sm-none"></i>
<span class="d-none d-sm-block">Reset</span>
</button>
<p class="mb-0">Allowed JPG, GIF or PNG. Max size of 3Mb</p>
</div>
</div>
<div class="col-6 col-md-6 col-lg-6 d-flex align-items-start align-items-sm-center gap-4">
<img src="{{ asset(!empty($settingImage['secondary_image']) ? 'storage/uploads/' . $settingImage['secondary_image'] : 'backend/uploads/images/no-Image.jpg') }}"
alt="site-image input-file" class="d-block rounded show-secondary" height="100"
width="100" />
<div class="button-wrapper">
<label for="uploadSecondary" class="btn btn-primary me-2 mb-4" tabindex="0">
<span class="d-none d-sm-block">Upload secondary photo</span>
<i class="bx bx-upload d-block d-sm-none"></i>
<input type="file" id="uploadSecondary" class="input-secondary"
name="secondary_image" hidden accept="image/png, image/jpeg" />
</label>
<button type="button" class="btn btn-label-secondary secondary-reset mb-4">
<i class="bx bx-reset d-block d-sm-none"></i>
<span class="d-none d-sm-block">Reset</span>
</button>
<p class="mb-0">Allowed JPG, GIF or PNG. Max size of 3Mb</p>
</div>
</div>
</div>
</div>
<hr class="my-0" />
<!-- Account -->
<div class="card-body">
<div class="row">
<div class="mb-3 col-md-6">
<label class="form-label">Name<span class="text-danger"> *</span></label>
<input type="text" name="company_name"
value="{{ old('company_name', isset($generalSettings['company_name']) ? $generalSettings['company_name'] : '') }}"
placeholder="e.g. Jhigu Technologies" class="form-control" required>
@error('company_name')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-md-6">
<label class="form-label">Address</label>
<input type="text" name="address"
value="{{ old('address', isset($generalSettings['address']) ? $generalSettings['address'] : '') }}"
placeholder="e.g. Bhaktapur, Bagmati, Nepal" class="form-control">
@error('address')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-md-6">
<label class="form-label">Contact Number</label>
<div class="input-group input-group-merge">
<span class="input-group-text">NP (+977)</span>
<input type="text" name="contact_number"
value="{{ old('contact_number', isset($generalSettings['contact_number']) ? $generalSettings['contact_number'] : '') }}"
placeholder="e.g. 9876543210" class="form-control">
@error('contact_number')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
<div class="mb-3 col-md-6">
<label class="form-label">E-mail (Info)</label>
<input type="text" name="info_email_address"
value="{{ old('info_email_address', isset($generalSettings['info_email_address']) ? $generalSettings['info_email_address'] : '') }}"
placeholder="e.g. info@jhigutech.com" class="form-control">
@error('info_email_address')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-md-6">
<label class="form-label">Mobile Number</label>
<div class="input-group input-group-merge">
<span class="input-group-text">NP (+977)</span>
<input type="text" name="mobile_number"
value="{{ old('mobile_number', isset($generalSettings['mobile_number']) ? $generalSettings['mobile_number'] : '') }}"
placeholder="e.g. 9876543210" class="form-control">
@error('mobile_number')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
<div class="mb-3 col-md-6">
<label class="form-label">Mobile Number (Alternative)</label>
<div class="input-group input-group-merge">
<span class="input-group-text">NP (+977)</span>
<input type="text" name="alt_mobile_number"
value="{{ old('alt_mobile_number', isset($generalSettings['alt_mobile_number']) ? $generalSettings['alt_mobile_number'] : '') }}"
placeholder="e.g. 9876543210" class="form-control">
@error('alt_mobile_number')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
<div class="mb-3 col-md-6">
<label class="form-label">E-mail (Support)</label>
<input type="text" name="support_email_address"
value="{{ old('support_email_address', isset($generalSettings['support_email_address']) ? $generalSettings['support_email_address'] : '') }}"
placeholder="e.g. support@jhigutech.com" class="form-control">
@error('support_email_address')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-md-6">
<label class="form-label">Opening Hours</label>
<input type="text" name="opening_hours"
value="{{ old('opening_hours', isset($generalSettings['opening_hours']) ? $generalSettings['opening_hours'] : '') }}"
placeholder="e.g. 9:00 AM - 10:00 PM" class="form-control">
@error('opening_hours')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-md-12">
<label class="form-label">Short Description</label>
<textarea name="" id="mainTextarea" class="d-none">{{ old('short_detail', isset($generalSettings['short_detail']) ? $generalSettings['short_detail'] : '') }}</textarea>
<textarea name="short_detail" rows="5" placeholder="Write short description" class="form-control full-editor"
id="editorTextarea"></textarea>
@error('short_detail')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
<div class="mt-2">
<button type="submit" class="btn btn-primary me-2">Save Setting</button>
</div>
</div>
</div>
</form>
</div>
@push('required-styles')
@include('admin::vendor.full_editor.style')
@endpush
@push('required-scripts')
@include('admin::vendor.textareaContentDisplay.script')
@include('admin::vendor.full_editor.script')
@endpush

View File

@@ -0,0 +1,52 @@
<div class="tab-pane fade show" id="pills-seo" role="tabpanel" aria-labelledby="pills-seo-tab">
<form action="{{ route('setting.seo.storeOrUpdate') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="card mb-4">
<h5 class="card-header">Meta Details</h5>
<!-- seo -->
<hr class="my-0" />
<div class="card-body">
<div class="row">
<div class="mb-3 col-md-12">
<label class="form-label">Title</label>
<input type="text" name="meta_title"
value="{{ old('meta_title', $seoSettings['meta_title'] ?? '') }}"
placeholder="e.g. Jhigu CMS Company - Empowering Your Web Presence" class="form-control">
@error('meta_title')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-md-12">
<label class="form-label">Description</label>
<textarea name="" id="mainTextarea" class="d-none">{{ old('meta_detail', $seoSettings['meta_detail'] ?? '') }}</textarea>
<textarea name="meta_detail" rows="5" class="form-control full-editor" id="editorTextarea"
placeholder="Jhigu CMS Company is a leading provider of user-friendly Content Management Systems (CMS) that empower businesses to create and manage dynamic websites effortlessly. Our customizable CMS, responsive design, and dedicated support make us the go-to choice for web development and content management solutions. Join us to simplify your online journey and achieve digital success with ease."></textarea>
@error('meta_detail')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-3 col-md-12">
<label class="form-label">Keywords</label>
<textarea name="meta_keywords" rows="4" class="form-control"
placeholder="Jhigu CMS Company, Content Management System, CMS solutions, web development, responsive design, digital success">{{ old('meta_keywords', $seoSettings['meta_keywords'] ?? '') }}</textarea>
@error('meta_keywords')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
<button type="submit" class="btn btn-primary me-2">Save Setting</button>
</div>
</div>
</form>
</div>
@push('required-styles')
@include('admin::vendor.full_editor.style')
@endpush
@push('required-scripts')
@include('admin::vendor.textareaContentDisplay.script')
@include('admin::vendor.full_editor.script')
@endpush