From d9e70682fabdad09874351f23b5ef12b46f47614 Mon Sep 17 00:00:00 2001 From: Burak Civan Date: Mon, 18 Jul 2022 17:18:27 +0300 Subject: [PATCH 1/5] live search developmet for app pages --- public/css/app.css | 4 +++ resources/assets/js/views/modules/apps.js | 34 +++++++++++++++++++ .../components/layouts/modules/bar.blade.php | 21 +++++++++++- 3 files changed, 58 insertions(+), 1 deletion(-) diff --git a/public/css/app.css b/public/css/app.css index 17c504e04..f9dff92a9 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -47449,6 +47449,10 @@ body{ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } +.hover\:rounded-lg:hover{ + border-radius: 0.5rem; +} + .hover\:bg-gray-100:hover{ --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); diff --git a/resources/assets/js/views/modules/apps.js b/resources/assets/js/views/modules/apps.js index 12ff89136..4cafe1a30 100644 --- a/resources/assets/js/views/modules/apps.js +++ b/resources/assets/js/views/modules/apps.js @@ -29,6 +29,10 @@ const app = new Vue({ AkauntingSlider }, + created() { + document.addEventListener('click', this.closeIfClickedOutside); + }, + mounted() { if (typeof app_slug !== 'undefined') { this.onReleases(1); @@ -84,6 +88,9 @@ const app = new Vue({ addToCartLoading: false, loadMoreLoading: false, + live_search_modal: false, + live_search_data: [], + route_url: url } }, @@ -288,5 +295,32 @@ const app = new Vue({ this.loadMoreLoading = false; }); }, + + closeIfClickedOutside(event) { + let el = this.$refs.liveSearchModal; + let target = event.target; + + if (el !== target && target.contains(el)) { + this.live_search_modal = false; + } + }, + + onLiveSearch(event) { + let target_length = event.target.value.length; + + if (target_length > 2) { + window.axios.get(url + '/apps/paid') + .then(response => { + this.live_search_data = response.data.data.data; + this.live_search_modal = true; + }) + .catch(error => { + this.live_search_modal = false; + console.log(error); + }) + } else if (target_length == 0) { + this.live_search_modal = false; + } + } } }); diff --git a/resources/views/components/layouts/modules/bar.blade.php b/resources/views/components/layouts/modules/bar.blade.php index b5ba09a00..0dd6c21af 100644 --- a/resources/views/components/layouts/modules/bar.blade.php +++ b/resources/views/components/layouts/modules/bar.blade.php @@ -73,6 +73,7 @@ value="{{ isset($keyword) ? $keyword : '' }}" placeholder="{{ trans('general.search_placeholder') }}" autocomplete="off" + v-on:keyup="onLiveSearch($event)" /> @@ -104,4 +105,22 @@ - + +
+ +
+ \ No newline at end of file From 545303b04b68fba1b6e254d967151fa71675b332 Mon Sep 17 00:00:00 2001 From: Burak Civan Date: Mon, 18 Jul 2022 17:58:08 +0300 Subject: [PATCH 2/5] endpoint edited --- app/Http/Controllers/Modules/Tiles.php | 2 +- public/css/app.css | 4 ---- resources/assets/js/views/modules/apps.js | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Modules/Tiles.php b/app/Http/Controllers/Modules/Tiles.php index 54d2c2ab6..8af4e94de 100644 --- a/app/Http/Controllers/Modules/Tiles.php +++ b/app/Http/Controllers/Modules/Tiles.php @@ -155,7 +155,7 @@ class Tiles extends Controller $modules = $this->getSearchModules($data); $installed = Module::all()->pluck('enabled', 'alias')->toArray(); - return view('modules.tiles.index', compact('title', 'modules', 'keyword', 'installed')); + return $this->response('modules.tiles.index', compact('modules', 'title', 'keyword', 'installed')); } public function loadMore($type, Request $request) diff --git a/public/css/app.css b/public/css/app.css index f9dff92a9..17c504e04 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -47449,10 +47449,6 @@ body{ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } -.hover\:rounded-lg:hover{ - border-radius: 0.5rem; -} - .hover\:bg-gray-100:hover{ --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); diff --git a/resources/assets/js/views/modules/apps.js b/resources/assets/js/views/modules/apps.js index 4cafe1a30..91b2cbd6b 100644 --- a/resources/assets/js/views/modules/apps.js +++ b/resources/assets/js/views/modules/apps.js @@ -309,7 +309,7 @@ const app = new Vue({ let target_length = event.target.value.length; if (target_length > 2) { - window.axios.get(url + '/apps/paid') + window.axios.get(url + '/apps/search?keyword=' + event.target.value) .then(response => { this.live_search_data = response.data.data.data; this.live_search_modal = true; From 41a62341cb150080aae5ef2cca4b8d7594d34400 Mon Sep 17 00:00:00 2001 From: Burak Civan Date: Tue, 19 Jul 2022 10:36:26 +0300 Subject: [PATCH 3/5] feedback edited --- .../components/layouts/modules/bar.blade.php | 44 ++++++++++--------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/resources/views/components/layouts/modules/bar.blade.php b/resources/views/components/layouts/modules/bar.blade.php index 0dd6c21af..6439e705f 100644 --- a/resources/views/components/layouts/modules/bar.blade.php +++ b/resources/views/components/layouts/modules/bar.blade.php @@ -61,7 +61,7 @@
-
+
search @@ -76,10 +76,32 @@ v-on:keyup="onLiveSearch($event)" />
+ +
+ + +
+ {{ trans('modules.see_more') }} +
+
-
+
{{ trans('modules.home') }} @@ -105,22 +127,4 @@
- -
- -
\ No newline at end of file From 099dd2d753093254fbd9389803d0ca18f09421db Mon Sep 17 00:00:00 2001 From: Burak Civan Date: Tue, 19 Jul 2022 10:48:46 +0300 Subject: [PATCH 4/5] code refactoring --- resources/assets/js/views/modules/apps.js | 19 ++++++++++++------- resources/lang/en-GB/modules.php | 1 + .../components/layouts/modules/bar.blade.php | 8 +++++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/resources/assets/js/views/modules/apps.js b/resources/assets/js/views/modules/apps.js index 91b2cbd6b..bffdda633 100644 --- a/resources/assets/js/views/modules/apps.js +++ b/resources/assets/js/views/modules/apps.js @@ -88,8 +88,11 @@ const app = new Vue({ addToCartLoading: false, loadMoreLoading: false, - live_search_modal: false, - live_search_data: [], + live_search: { + data: [], + modal: false, + not_found: false + }, route_url: url } }, @@ -301,7 +304,7 @@ const app = new Vue({ let target = event.target; if (el !== target && target.contains(el)) { - this.live_search_modal = false; + this.live_search.modal = false; } }, @@ -311,15 +314,17 @@ const app = new Vue({ if (target_length > 2) { window.axios.get(url + '/apps/search?keyword=' + event.target.value) .then(response => { - this.live_search_data = response.data.data.data; - this.live_search_modal = true; + this.live_search.data = response.data.data.data; + this.live_search.modal = true; + this.live_search.not_found = false; }) .catch(error => { - this.live_search_modal = false; + this.live_search.not_found = true; + this.live_search.data = []; console.log(error); }) } else if (target_length == 0) { - this.live_search_modal = false; + this.live_search.modal = false; } } } diff --git a/resources/lang/en-GB/modules.php b/resources/lang/en-GB/modules.php index 12c1115e6..ac9dda601 100644 --- a/resources/lang/en-GB/modules.php +++ b/resources/lang/en-GB/modules.php @@ -50,6 +50,7 @@ return [ 'hosted_on_akaunting' => 'Hosted on akaunting.com', 'only_works_cloud' => 'This app is available only on Cloud.', 'only_premium_plan' => 'This app is available only on Premium Cloud.', + 'not_found' => 'App not found', 'about' => 'About', diff --git a/resources/views/components/layouts/modules/bar.blade.php b/resources/views/components/layouts/modules/bar.blade.php index 6439e705f..b22d41daf 100644 --- a/resources/views/components/layouts/modules/bar.blade.php +++ b/resources/views/components/layouts/modules/bar.blade.php @@ -77,9 +77,9 @@ />
-
+
    -
  • +
  • + +
  • {{ trans('modules.not_found') }}
-
+
{{ trans('modules.see_more') }}
From 784cd3f27175ed0f0ceb9ea22f859c8ec24f7847 Mon Sep 17 00:00:00 2001 From: Burak Civan Date: Tue, 19 Jul 2022 11:57:57 +0300 Subject: [PATCH 5/5] styling and code refactoring --- resources/lang/en-GB/modules.php | 2 +- .../views/components/layouts/modules/bar.blade.php | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/resources/lang/en-GB/modules.php b/resources/lang/en-GB/modules.php index ac9dda601..48f9b7501 100644 --- a/resources/lang/en-GB/modules.php +++ b/resources/lang/en-GB/modules.php @@ -50,7 +50,7 @@ return [ 'hosted_on_akaunting' => 'Hosted on akaunting.com', 'only_works_cloud' => 'This app is available only on Cloud.', 'only_premium_plan' => 'This app is available only on Premium Cloud.', - 'not_found' => 'App not found', + 'not_found' => 'No app found', 'about' => 'About', diff --git a/resources/views/components/layouts/modules/bar.blade.php b/resources/views/components/layouts/modules/bar.blade.php index b22d41daf..3e880a0c3 100644 --- a/resources/views/components/layouts/modules/bar.blade.php +++ b/resources/views/components/layouts/modules/bar.blade.php @@ -77,7 +77,12 @@ />
-