From 0b5eb7697b4ebd7c27bf3b416235170e9fa23054 Mon Sep 17 00:00:00 2001 From: A1Gard Date: Sat, 20 Jul 2024 01:50:20 +0330 Subject: [PATCH 1/7] added wave footer --- .../footer/WaveFooter/WaveFooter.blade.php | 48 +++++++++++++++++ .../segments/footer/WaveFooter/WaveFooter.js | 0 .../footer/WaveFooter/WaveFooter.json | 10 ++++ .../segments/footer/WaveFooter/WaveFooter.php | 51 +++++++++++++++++++ .../footer/WaveFooter/WaveFooter.scss | 50 ++++++++++++++++++ 5 files changed, 159 insertions(+) create mode 100644 resources/views/segments/footer/WaveFooter/WaveFooter.blade.php create mode 100644 resources/views/segments/footer/WaveFooter/WaveFooter.js create mode 100644 resources/views/segments/footer/WaveFooter/WaveFooter.json create mode 100644 resources/views/segments/footer/WaveFooter/WaveFooter.php create mode 100644 resources/views/segments/footer/WaveFooter/WaveFooter.scss diff --git a/resources/views/segments/footer/WaveFooter/WaveFooter.blade.php b/resources/views/segments/footer/WaveFooter/WaveFooter.blade.php new file mode 100644 index 0000000..a254c32 --- /dev/null +++ b/resources/views/segments/footer/WaveFooter/WaveFooter.blade.php @@ -0,0 +1,48 @@ + diff --git a/resources/views/segments/footer/WaveFooter/WaveFooter.js b/resources/views/segments/footer/WaveFooter/WaveFooter.js new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/segments/footer/WaveFooter/WaveFooter.json b/resources/views/segments/footer/WaveFooter/WaveFooter.json new file mode 100644 index 0000000..fdac464 --- /dev/null +++ b/resources/views/segments/footer/WaveFooter/WaveFooter.json @@ -0,0 +1,10 @@ +{ + "name": "WaveFooter", + "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": [] +} diff --git a/resources/views/segments/footer/WaveFooter/WaveFooter.php b/resources/views/segments/footer/WaveFooter/WaveFooter.php new file mode 100644 index 0000000..782d3b5 --- /dev/null +++ b/resources/views/segments/footer/WaveFooter/WaveFooter.php @@ -0,0 +1,51 @@ +section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_speed'; + $setting->value = 2; + $setting->size = 4; + $setting->type = 'NUMBER'; + $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' speed wave 1'; + $setting->save(); + $setting = new Setting(); + $setting->section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_speed2'; + $setting->value = 6; + $setting->size = 4; + $setting->type = 'NUMBER'; + $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' speed wave 2'; + $setting->save(); + $setting = new Setting(); + $setting->section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_speed3'; + $setting->value = 4; + $setting->size = 4; + $setting->type = 'NUMBER'; + $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' speed wave 3'; + $setting->save(); + } + public static function onRemove(Part $part = null) + { + Setting::where('key',$part->area->name . '_' . $part->part.'_speed')->first()?->delete(); + Setting::where('key',$part->area->name . '_' . $part->part.'_speed2')->first()?->delete(); + Setting::where('key',$part->area->name . '_' . $part->part.'_speed3')->first()?->delete(); + } + public static function onMount(Part $part = null) + { + return $part; + } +} diff --git a/resources/views/segments/footer/WaveFooter/WaveFooter.scss b/resources/views/segments/footer/WaveFooter/WaveFooter.scss new file mode 100644 index 0000000..5eb3e14 --- /dev/null +++ b/resources/views/segments/footer/WaveFooter/WaveFooter.scss @@ -0,0 +1,50 @@ +.WaveFooter { + margin-top: 3rem; + min-height: 300px; + position: relative; + .waves { + >use { + fill: var(--xshop-primary); + animation: move-forever var(--speed) -2s linear infinite; + &:nth-child(2) { + animation-delay: -3s; + animation-duration: var(--speed2); + } + &:nth-child(3) { + animation-delay: -4s; + animation-duration: var(--speed3); + } + } + } + svg { + position: absolute; + left: 0; + bottom: 5rem; + width: 100%; + height: 30vw; + max-height: 200px; + } + + .content{ + padding: 1rem; + background: var(--xshop-primary); + opacity: .96; + color: var(--xshop-diff); + height: 5rem; + position: absolute; + bottom: 0; + left: 0; + right: 0; + text-align: center; + } + +} + +@keyframes move-forever { + 0% { + transform: translate(-90px, 0%); + } + 100% { + transform: translate(85px, 0%); + } +} From a4e20ba17e5cbb90e71414294db97a26314cb29d Mon Sep 17 00:00:00 2001 From: A1Gard Date: Sat, 20 Jul 2024 02:47:23 +0330 Subject: [PATCH 2/7] added fire footer --- .../Controllers/Admin/CkeditorController.php | 4 +- .../footer/FireFooter/FireFooter.blade.php | 318 ++++++++++++++++++ .../segments/footer/FireFooter/FireFooter.js | 0 .../footer/FireFooter/FireFooter.json | 10 + .../segments/footer/FireFooter/FireFooter.php | 64 ++++ .../footer/FireFooter/FireFooter.scss | 92 +++++ .../footer/WaveFooter/WaveFooter.blade.php | 4 +- 7 files changed, 488 insertions(+), 4 deletions(-) create mode 100644 resources/views/segments/footer/FireFooter/FireFooter.blade.php create mode 100644 resources/views/segments/footer/FireFooter/FireFooter.js create mode 100644 resources/views/segments/footer/FireFooter/FireFooter.json create mode 100644 resources/views/segments/footer/FireFooter/FireFooter.php create mode 100644 resources/views/segments/footer/FireFooter/FireFooter.scss diff --git a/app/Http/Controllers/Admin/CkeditorController.php b/app/Http/Controllers/Admin/CkeditorController.php index dfe109d..56e45e9 100644 --- a/app/Http/Controllers/Admin/CkeditorController.php +++ b/app/Http/Controllers/Admin/CkeditorController.php @@ -16,10 +16,10 @@ class CkeditorController extends Controller $extension = $request->file('upload')->getClientOriginalExtension(); $fileName = $fileName . '_' . time() . '.' . $extension; - $request->file('upload')->move(public_path('images'), $fileName); + $request->file('upload')->move(public_path('upload/images'), $fileName); $CKEditorFuncNum = $request->input('CKEditorFuncNum'); - $url = asset('images/' . $fileName); + $url = asset('/upload/images/' . $fileName); $msg = __('Image uploaded successfully'); $response = ""; diff --git a/resources/views/segments/footer/FireFooter/FireFooter.blade.php b/resources/views/segments/footer/FireFooter/FireFooter.blade.php new file mode 100644 index 0000000..98bbc7b --- /dev/null +++ b/resources/views/segments/footer/FireFooter/FireFooter.blade.php @@ -0,0 +1,318 @@ +
+ + + + + + + + + +
diff --git a/resources/views/segments/footer/FireFooter/FireFooter.js b/resources/views/segments/footer/FireFooter/FireFooter.js new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/segments/footer/FireFooter/FireFooter.json b/resources/views/segments/footer/FireFooter/FireFooter.json new file mode 100644 index 0000000..3031a55 --- /dev/null +++ b/resources/views/segments/footer/FireFooter/FireFooter.json @@ -0,0 +1,10 @@ +{ + "name": "FireFooter", + "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": [] +} \ No newline at end of file diff --git a/resources/views/segments/footer/FireFooter/FireFooter.php b/resources/views/segments/footer/FireFooter/FireFooter.php new file mode 100644 index 0000000..ddf70e6 --- /dev/null +++ b/resources/views/segments/footer/FireFooter/FireFooter.php @@ -0,0 +1,64 @@ +section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_text'; + $setting->value = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus aliquid consequuntur culpa cupiditate dignissimos dolor doloremque error facilis ipsum iure officia quam qui, tempora! Fuga harum impedit iusto magnam veniam.'; + $setting->size = 12; + $setting->type = 'LONGTEXT'; +// $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' main text'; + $setting->save(); + + $setting = new Setting(); + $setting->section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_title2'; + $setting->value = 'FAQ'; + $setting->size = 6; + $setting->type = 'TEXT'; +// $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' title 2'; + $setting->save(); + + + $setting = new Setting(); + $setting->section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_group'; + $setting->value = Group::first()->id; + $setting->size = 6; + $setting->type = 'GROUP'; +// $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' group'; + $setting->save(); + + $setting = new Setting(); + $setting->section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_last'; + $setting->value = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus aliquid consequuntur culpa cupiditate dignissimos dolor doloremque error facilis ipsum iure officia quam qui, tempora! Fuga harum impedit iusto magnam veniam.'; + $setting->size = 12; + $setting->title = $part->area->name . ' ' . $part->part. ' last content'; + $setting->type = 'EDITOR'; + $setting->save(); + } + public static function onRemove(Part $part = null) + { + Setting::where('key',$part->area->name . '_' . $part->part.'_text')->first()?->delete(); + Setting::where('key',$part->area->name . '_' . $part->part.'_title2')->first()?->delete(); + Setting::where('key',$part->area->name . '_' . $part->part.'_group')->first()?->delete(); + Setting::where('key',$part->area->name . '_' . $part->part.'_last')->first()?->delete(); + } + public static function onMount(Part $part = null) + { + return $part; + } +} diff --git a/resources/views/segments/footer/FireFooter/FireFooter.scss b/resources/views/segments/footer/FireFooter/FireFooter.scss new file mode 100644 index 0000000..a2d7871 --- /dev/null +++ b/resources/views/segments/footer/FireFooter/FireFooter.scss @@ -0,0 +1,92 @@ +.FireFooter { + + padding-top: 7rem; + + .footer { + + .social{ + list-style: none; + i{ + font-size: 25px; + } + } + + color: var(--xshop-diff); + + a,a:visited{ + color: var(--xshop-diff); + } + z-index: 1; + --footer-background: var(--xshop-primary); + display: grid; + position: relative; + grid-area: footer; + min-height: 12rem; + + .bubbles { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 1rem; + background: var(--xshop-primary); + filter: url("#blob"); + + .bubble { + position: absolute; + left: var(--position, 50%); + background: var(--xshop-primary); + border-radius: 100%; + //-webkit-animation: bubble-size var(--time, 4s) ease-in infinite var(--delay, 0s), bubble-move var(--time, 4s) ease-in infinite var(--delay, 0s); + animation: bubble-size var(--time, 4s) ease-in infinite var(--delay, 0s), bubble-move var(--time, 4s) ease-in infinite var(--delay, 0s); + transform: translate(-50%, 100%); + } + } + + .content { + padding: 6rem 1rem 2rem; + background: var(--xshop-primary); + z-index: 2; + } + } +} + +@-webkit-keyframes bubble-size { + 0%, 75% { + width: var(--size, 4rem); + height: var(--size, 4rem); + } + 100% { + width: 0rem; + height: 0rem; + } +} + +@keyframes bubble-size { + 0%, 75% { + width: var(--size, 4rem); + height: var(--size, 4rem); + } + 100% { + width: 0rem; + height: 0rem; + } +} + +@-webkit-keyframes bubble-move { + 0% { + bottom: -4rem; + } + 100% { + bottom: var(--distance, 10rem); + } +} + +@keyframes bubble-move { + 0% { + bottom: -4rem; + } + 100% { + bottom: var(--distance, 10rem); + } +} diff --git a/resources/views/segments/footer/WaveFooter/WaveFooter.blade.php b/resources/views/segments/footer/WaveFooter/WaveFooter.blade.php index a254c32..b3a7a5c 100644 --- a/resources/views/segments/footer/WaveFooter/WaveFooter.blade.php +++ b/resources/views/segments/footer/WaveFooter/WaveFooter.blade.php @@ -1,3 +1,4 @@ +
- {{getSetting('copyright')}} -
+ {{getSetting('copyright')}}
From e096035c09216662e9a854d0f042336ddabfcbbb Mon Sep 17 00:00:00 2001 From: A1Gard Date: Sat, 20 Jul 2024 03:03:33 +0330 Subject: [PATCH 3/7] optimized firefooter --- app/Helpers/Helper.php | 2 +- .../views/segments/footer/FireFooter/FireFooter.blade.php | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 1e304e1..3563f0f 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -747,7 +747,7 @@ function getSettingsGroup($group) $result = []; foreach (Setting::where('key', 'LIKE', $group . '%') ->whereNotNull('value')->get(['key', 'value']) as $r) { - if ($r->value != null) { + if ($r->value != null && $r->value != '') { $result[substr($r->key, mb_strlen($group))] = $r->value; } } diff --git a/resources/views/segments/footer/FireFooter/FireFooter.blade.php b/resources/views/segments/footer/FireFooter/FireFooter.blade.php index 98bbc7b..b116153 100644 --- a/resources/views/segments/footer/FireFooter/FireFooter.blade.php +++ b/resources/views/segments/footer/FireFooter/FireFooter.blade.php @@ -275,8 +275,7 @@ {{getSetting($data->area->name.'_'.$data->part.'_title2')}}
    - @foreach( getGroupBySetting($data->area->name.'_'.$data->part.'_group')->posts()->limit(5)->get() as $post ) - + @foreach( getGroupPostsBySetting($data->area->name.'_'.$data->part.'_group',5) as $post )
  • {{Str::limit($post->title,40)}} @@ -291,9 +290,9 @@
    -