Add contact summary view segment to improve modular UI structure

master
lilUnkelDemon 5 days ago
parent fe99515a45
commit ff9e83fec9

@ -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

Loading…
Cancel
Save