Compare commits

...

5 Commits

@ -63,7 +63,9 @@ class AreaController extends Controller
default:
return abort(404);
}
if ($m == null){
return abort(404);
}
$valids = [];
foreach ($area->segment as $seg) {
if (File::exists(resource_path() . '/views/segments/' . $seg)) {
@ -190,7 +192,10 @@ class AreaController extends Controller
}
}
foreach (json_decode($request->input('removed')) as $id) {
Part::where('id', $id)->first()->delete();
$i = Part::where('id', $id)->first();
if ($i != null) {
$i->delete();
}
}
\Artisan::call('client');

@ -116,10 +116,9 @@ class SettingController extends Controller
} else
if ($file->guessExtension() == 'mp4' || $file->guessExtension() == 'mp3') {
$file->move(public_path('upload/media/'), str_replace('_', '.', $index));//store('/images/'.,['disk' => 'public']);
} elseif ($file->guessExtension() == 'webp') {
} elseif ($file->guessExtension() == 'webp' || $file->guessExtension() == 'svg') {
$file->move(public_path('upload/images/'), str_replace('_', '.', $index));//store('/images/'.,['disk' => 'public']);
} else {
$file->move(public_path('upload/file/'), str_replace('_', '.', $index));//store('/images/'.,['disk' => 'public']);
}
}

@ -103,7 +103,7 @@
<h1>
@if(isset($item))
{{__("Edit post")}} [{{$item->title}}]
{{__("Edit post")}} [{{$item->title}}] <a href="{{route('admin.area.design.model',['post','Post',$item->id])}}" class="btn btn-secondary"> <i class="ri-palette-line"></i> </a>
@else
{{__("Add new post")}}
@endif

@ -81,7 +81,7 @@
<div id="step1">
<div class="card">
<div class="card-header">
{{__("Basic data")}}
{{__("Basic data")}} @if(isset($item)) <a href="{{route('admin.area.design.model',['product','Product',$item->id])}}" class="btn btn-secondary float-end"> <i class="ri-palette-line"></i> </a> @endif
</div>
<div class="card-body">
@include('admin.products.sub-pages.product-step1')

@ -4,14 +4,15 @@
{{$post->title}} - {{config('app.name')}}
@endsection
@section('content')
<main>
@if(findArea($area,$post)->use_default)
@foreach(getParts('defaultHeader') as $part)
@php($p = $part->getBladeWithData())
@include($p['blade'],['data' => $p['data']])
@endforeach
@endif
@foreach(getParts($area,$post) as $part)
@php($p = $part->getBladeWithData($post))
@foreach(getParts($area,'post'.$post->id) as $part)
@php($p = $part->getBladeWithData())
@include($p['blade'],['data' => $p['data']])
@endforeach
@if(findArea($area,$post)->use_default)
@ -20,4 +21,5 @@
@include($p['blade'],['data' => $p['data']])
@endforeach
@endif
</main>
@endsection

@ -11,10 +11,10 @@
@include($p['blade'],['data' => $p['data']])
@endforeach
@endif
@foreach(getParts($area,$product) as $part)
@php($p = $part->getBladeWithData($product))
@include($p['blade'],['data' => $p['data']])
@endforeach
@foreach(getParts($area,'$product'.$product->id) as $part)
@php($p = $part->getBladeWithData())
@include($p['blade'],['data' => $p['data']])
@endforeach
@if(findArea($area,$product)->use_default)
@foreach(getParts('defaultFooter') as $part)
@php($p = $part->getBladeWithData())

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 57 KiB

@ -137,7 +137,7 @@
<a href="{{$item->webUrl()}}">
{{$item->title}}
</a>
@if($item->dest && $item->dest->children()->where('hide',false)->count() > 0)
@if($item->dest && $item->dest->children != null && $item->dest->children()->where('hide',false)->count() > 0)
<ul class="px-1 border-start border-white">
@foreach($item->dest->children()->where('hide',false)->get() as $itm)
<li>

@ -1,10 +1,10 @@
{
"name": "HomayonMenu",
"version": "1.0",
"version": "1.1",
"author": "xStack",
"email": "xshop@xstack.ir",
"license": "GPL-3.0-or-later",
"url": "https:\/\/xstack.ir",
"author_url": "https:\/\/4xmen.ir",
"packages": []
}
}

@ -0,0 +1,46 @@
<section class="ContactSummery live-setting" data-live="{{$data->area_name.'_'.$data->part}}">
<div class="{{gfx()['container']}}">
<div class="row pt-4">
<div class="col-md-6">
<img src="{{asset('upload/images/'.$data->area_name.'.'.$data->part.'.jpg')}}" class="img-fluid"
alt="{{getSetting($data->area_name.'_'.$data->part.'_title')}}">
</div>
<div class="col-md-6 d-flex align-items-center justify-content-center">
<div>
<h1>
{{getSetting($data->area_name.'_'.$data->part.'_title')}}
</h1>
{!! getSetting($data->area_name.'_'.$data->part.'_subtitle') !!}
</div>
</div>
<div class="col-12 summery-detail">
<h2 class="pt-4">
{{__("Contact us")}}
</h2>
<ul>
<li>
<a href="{{getSetting($data->area_name.'_'.$data->part.'_address_link')}}">
<i class="ri-map-pin-line float-start"></i>
{{getSetting($data->area_name.'_'.$data->part.'_address')}}
</a>
</li>
<li>
<a href="tel:{{getSetting('tel')}}" dir="ltr">
<i class="ri-phone-line float-start"></i>
{{getSetting('tel')}}
</a>
</li>
<li>
<a href="mailto:{{getSetting('email')}}" dir="ltr">
<i class="ri-mail-line float-start"></i>
{{getSetting('email')}}
</a>
</li>
</ul>
<a href="{{getSetting($data->area_name.'_'.$data->part.'_link')}}" class="btn btn-primary">
{{getSetting($data->area_name.'_'.$data->part.'_btn')}}
</a>
</div>
</div>
</div>
</section>

@ -0,0 +1,10 @@
{
"name": "ContactSummery",
"version": "1.0",
"author": "xStack",
"email": "xshop@xstack.ir",
"license": "GPL-3.0-or-later",
"url": "https:\/\/xstack.ir",
"author_url": "https:\/\/4xmen.ir",
"packages": []
}

@ -0,0 +1,93 @@
<?php
namespace Resources\Views\Segments;
use App\Models\Part;
use App\Models\Setting;
use Illuminate\Support\Facades\File;
class ContactSummery
{
public static function onAdd(Part $part = null)
{
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_jpg';
$setting->value = null;
$setting->type = 'FILE';
$setting->size = 6;
$setting->title = $part->area_name . ' ' . $part->part.' Image';
$setting->save();
File::copy(__DIR__.'/../../default-assets/bg.jpg',public_path('upload/images/').$part->area_name . '.' . $part->part.'.jpg');
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_title';
$setting->value = 'contact us';
$setting->type = 'TEXT';
$setting->size = 6;
$setting->title = $part->area_name . ' ' . $part->part .' title';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_subtitle';
$setting->value = '<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis dolor enim reprehenderit.</p>';
$setting->type = 'EDITOR';
$setting->size = 12;
$setting->title = $part->area_name . ' ' . $part->part .' subtitle';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_btn';
$setting->value = 'Products';
$setting->type = 'TEXT';
$setting->size = 6;
$setting->title = $part->area_name . ' ' . $part->part .' button text';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_link';
$setting->value = '/';
$setting->type = 'TEXT';
$setting->size = 6;
$setting->title = $part->area_name . ' ' . $part->part .' button link';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_address';
$setting->value = 'no.1, Pine st, Apple sq, TX , USA';
$setting->type = 'TEXT';
$setting->size = 6;
$setting->title = $part->area_name . ' ' . $part->part .' address text';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_address_link';
$setting->value = '/';
$setting->type = 'TEXT';
$setting->size = 6;
$setting->title = $part->area_name . ' ' . $part->part .' address link';
$setting->save();
}
public static function onRemove(Part $part = null)
{
Setting::where('key',$part->area_name . '_' . $part->part.'_jpg')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_title')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_subtitle')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_btn')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_link')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_address')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_address_link')->first()?->delete();
File::delete(public_path('upload/images/').$part->area_name . '.' . $part->part.'.jpg');
}
public static function onMount(Part $part = null)
{
return $part;
}
}

@ -0,0 +1,38 @@
.ContactSummery {
// scss
h1,h2{
font-size: 18pt;
margin-bottom: 1rem;
}
img{
border-radius: var(--xshop-border-radius);
}
li{
overflow: hidden;
padding: .5rem;
}
p{
text-align:justify;
}
i{
color: var(--xshop-primary);
font-size: 20px;
margin: 0 1rem;
position: relative;
top: -5px;
}
a{
color: var(--xshop-text);
}
.summery-detail{
position: relative;
.btn{
position: absolute;
inset-inline-end: 2rem;
bottom: 1rem;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

@ -0,0 +1,14 @@
<section class="ImageContent live-setting" data-live="{{$data->area_name.'_'.$data->part}}" style="background-image: url('{{asset('upload/images/'.$data->area_name.'.'.$data->part.'.jpg')}}')" >
<div class="{{gfx()['container']}} justify-content-center d-flex align-items-end">
<div class="text-center">
<h1>
{{getSetting($data->area_name.'_'.$data->part.'_title')}}
</h1>
{!! getSetting($data->area_name.'_'.$data->part.'_subtitle') !!}
<a href="{{getSetting($data->area_name.'_'.$data->part.'_link')}}" class="btn btn-primary">
{{getSetting($data->area_name.'_'.$data->part.'_btn')}}
</a>
</div>
</div>
</section>

@ -0,0 +1,10 @@
{
"name": "ImageContent",
"version": "1.0",
"author": "xStack",
"email": "xshop@xstack.ir",
"license": "GPL-3.0-or-later",
"url": "https:\/\/xstack.ir",
"author_url": "https:\/\/4xmen.ir",
"packages": []
}

@ -0,0 +1,85 @@
<?php
namespace Resources\Views\Segments;
use App\Models\Part;
use App\Models\Setting;
use Illuminate\Support\Facades\File;
class ImageContent
{
public static function onAdd(Part $part = null)
{
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_jpg';
$setting->value = null;
$setting->type = 'FILE';
$setting->size = 6;
$setting->title = $part->area_name . ' ' . $part->part.' Image';
$setting->save();
File::copy(__DIR__.'/../../default-assets/bg.jpg',public_path('upload/images/').$part->area_name . '.' . $part->part.'.jpg');
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_title';
$setting->value = 'Title of the parallax';
$setting->type = 'TEXT';
$setting->size = 6;
$setting->title = $part->area_name . ' ' . $part->part .' title';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_subtitle';
$setting->value = '<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis dolor enim reprehenderit.</p>';
$setting->type = 'EDITOR';
$setting->size = 12;
$setting->title = $part->area_name . ' ' . $part->part .' subtitle';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_btn';
$setting->value = 'Products';
$setting->type = 'TEXT';
$setting->size = 4;
$setting->title = $part->area_name . ' ' . $part->part .' button text';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_link';
$setting->value = '/';
$setting->type = 'TEXT';
$setting->size = 4;
$setting->title = $part->area_name . ' ' . $part->part .' button link';
$setting->save();
$setting = new Setting();
$setting->section = 'theme';
$setting->key = $part->area_name . '_' . $part->part.'_color';
$setting->value = '#ffffff';
$setting->type = 'COLOR';
$setting->data = json_encode(['name' => 'image-content-color']);
$setting->size = 4;
$setting->title = $part->area_name . ' ' . $part->part .' color';
$setting->save();
}
public static function onRemove(Part $part = null)
{
Setting::where('key',$part->area_name . '_' . $part->part.'_jpg')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_title')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_subtitle')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_btn')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_link')->first()?->delete();
Setting::where('key',$part->area_name . '_' . $part->part.'_color')->first()?->delete();
File::delete(public_path('upload/images/').$part->area_name . '.' . $part->part.'.jpg');
}
public static function onMount(Part $part = null)
{
return $part;
}
}

@ -0,0 +1,11 @@
.ImageContent {
// scss
background-size: cover;
background-position: center;
.container,.container-fluid{
height: 60vh;
padding: 10vh;
color: var(--image-content-color);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Loading…
Cancel
Save