From fd002df592e8d4f73806eb2af631c9c7168695f8 Mon Sep 17 00:00:00 2001 From: A1Gard Date: Thu, 25 Jul 2024 04:43:07 +0330 Subject: [PATCH] added counter theme part --- .../footer/ParallaxFooter/ParallaxFooter.php | 1 + .../index/CounterGrid/CounterGrid.blade.php | 18 +++++ .../segments/index/CounterGrid/CounterGrid.js | 69 ++++++++++++++++++ .../index/CounterGrid/CounterGrid.json | 10 +++ .../index/CounterGrid/CounterGrid.php | 63 ++++++++++++++++ .../index/CounterGrid/CounterGrid.scss | 16 ++++ .../segments/index/CounterGrid/screenshot.png | Bin 0 -> 36821 bytes 7 files changed, 177 insertions(+) create mode 100644 resources/views/segments/index/CounterGrid/CounterGrid.blade.php create mode 100644 resources/views/segments/index/CounterGrid/CounterGrid.js create mode 100644 resources/views/segments/index/CounterGrid/CounterGrid.json create mode 100644 resources/views/segments/index/CounterGrid/CounterGrid.php create mode 100644 resources/views/segments/index/CounterGrid/CounterGrid.scss create mode 100644 resources/views/segments/index/CounterGrid/screenshot.png diff --git a/resources/views/segments/footer/ParallaxFooter/ParallaxFooter.php b/resources/views/segments/footer/ParallaxFooter/ParallaxFooter.php index ff050dd..350d0a7 100644 --- a/resources/views/segments/footer/ParallaxFooter/ParallaxFooter.php +++ b/resources/views/segments/footer/ParallaxFooter/ParallaxFooter.php @@ -69,6 +69,7 @@ class ParallaxFooter 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(); + Setting::where('key',$part->area->name . '_' . $part->part.'_jpg')->first()?->delete(); } public static function onMount(Part $part = null) { diff --git a/resources/views/segments/index/CounterGrid/CounterGrid.blade.php b/resources/views/segments/index/CounterGrid/CounterGrid.blade.php new file mode 100644 index 0000000..1cfa03f --- /dev/null +++ b/resources/views/segments/index/CounterGrid/CounterGrid.blade.php @@ -0,0 +1,18 @@ +
+
+ +
+ @for($i = 1; $i <= \Resources\Views\Segments\CounterGrid::$count; $i++) +
+ +

+ {{getSetting($data->area->name.'_'.$data->part.'_title'.$i)}} +

+
+ 0 +
+
+ @endfor +
+
+
diff --git a/resources/views/segments/index/CounterGrid/CounterGrid.js b/resources/views/segments/index/CounterGrid/CounterGrid.js new file mode 100644 index 0000000..6f40cf9 --- /dev/null +++ b/resources/views/segments/index/CounterGrid/CounterGrid.js @@ -0,0 +1,69 @@ +var intervals = []; +var counters = []; +var steps = []; +var isCounterInited = false; + +function isElementInViewport(el) { + const rect = el.getBoundingClientRect(); + return ( + rect.top >= 0 && + rect.left >= 0 && + rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && + rect.right <= (window.innerWidth || document.documentElement.clientWidth) + ); +} + +function uncommafy(txt) { + return txt.split(',').join(''); +} + +function commafy(num) { + if (typeof num !== 'string') { + num = num.toString(); + } + let str = uncommafy(num.toString()).split('.'); + if (str[0].length >= 4) { + str[0] = str[0].replace(/(\d)(?=(\d{3})+$)/g, '$1,'); + } + if (str[1] && str[1].length >= 4) { + str[1] = str[1].replace(/(\d{3})/g, '$1 '); + } + return str.join('.'); +} + +document.addEventListener('DOMContentLoaded', function () { + + window.addEventListener('scroll', function() { + const container = document.getElementById('CounterGrid'); + if (isElementInViewport(container)) { + if (!isCounterInited){ + isCounterInited = true; + document.querySelectorAll('.grid-counter').forEach(function (el, key) { + + let max = parseInt(el.getAttribute('data-max')); + let min = parseInt(el.getAttribute('data-min')); + let diff = max - min; + counters[key] = 0; + steps[key] = parseInt(diff / 99); + + let tmp = setInterval(() => { + counters[key] += steps[key]; + document.querySelectorAll('.grid-counter')[key].innerHTML = commafy(counters[key]); + }, 100); + setTimeout(function () { + for (const i in intervals) { + clearInterval(intervals[i]); + document.querySelectorAll('.grid-counter')[key].innerHTML = commafy(document.querySelectorAll('.grid-counter')[key].getAttribute('data-max')); + } + + }, 9900); + intervals.push(tmp); + }); + } + // Remove event listener if you only want to alert once + this.removeEventListener('scroll', arguments.callee); + } + }); + + +}); diff --git a/resources/views/segments/index/CounterGrid/CounterGrid.json b/resources/views/segments/index/CounterGrid/CounterGrid.json new file mode 100644 index 0000000..a3e018c --- /dev/null +++ b/resources/views/segments/index/CounterGrid/CounterGrid.json @@ -0,0 +1,10 @@ +{ + "name": "CounterGrid", + "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/index/CounterGrid/CounterGrid.php b/resources/views/segments/index/CounterGrid/CounterGrid.php new file mode 100644 index 0000000..b7d7059 --- /dev/null +++ b/resources/views/segments/index/CounterGrid/CounterGrid.php @@ -0,0 +1,63 @@ +section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_title'.$i; + $setting->value = "Counter ".$i; + $setting->size = 4; + $setting->type = 'TEXT'; +// $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' title '.$i; + $setting->save(); + + $setting = new Setting(); + $setting->section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_icon'.$i; + $setting->value = 'ri-user-line'; + $setting->size = 4; + $setting->type = 'ICON'; +// $setting->data = json_encode(['xmin' => 2, 'xmax' => 6]); + $setting->title = $part->area->name . ' ' . $part->part. ' icon '.$i; + $setting->save(); + + $setting = new Setting(); + $setting->section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_number'.$i; + $setting->value = rand(100,4000); + $setting->size = 4; + $setting->type = 'NUMBER'; + $setting->data = json_encode(['xmin' => 0, 'xmax' => 9007199254740992]); + $setting->title = $part->area->name . ' ' . $part->part. ' number '.$i; + $setting->save(); + } + } + public static function onRemove(Part $part = null) + { + for ($i = 1; $i <= self::$count; $i++) { + Setting::where('key',$part->area->name . '_' . $part->part.'_title'.$i)->first()?->delete(); + Setting::where('key',$part->area->name . '_' . $part->part.'_icon'.$i)->first()?->delete(); + Setting::where('key',$part->area->name . '_' . $part->part.'_number'.$i)->first()?->delete(); + + } + } + public static function onMount(Part $part = null) + { + return $part; + } +} diff --git a/resources/views/segments/index/CounterGrid/CounterGrid.scss b/resources/views/segments/index/CounterGrid/CounterGrid.scss new file mode 100644 index 0000000..b65d9be --- /dev/null +++ b/resources/views/segments/index/CounterGrid/CounterGrid.scss @@ -0,0 +1,16 @@ +#CounterGrid { + padding: 4rem; + background: var(--xshop-secondary); + color: var(--xshop-diff); + text-align: center; + i{ + font-size: 128px; + display: block; + margin: .5rem auto; + -webkit-text-stroke: 6px var(--xshop-secondary); + } + + .grid-counter{ + font-size: 35px; + } +} diff --git a/resources/views/segments/index/CounterGrid/screenshot.png b/resources/views/segments/index/CounterGrid/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..15c383944470b200a012f3ceb35ff69e1bf9d967 GIT binary patch literal 36821 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�IIw*(L(llZ5@oB)W{l}~-D7ZC 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 literal 0 HcmV?d00001