diff --git a/README.md b/README.md index 52afeca..5175b3c 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,38 @@ composer require rapidez/fullscreen-search ``` +To use the views from this package instead of the default ones, you'll need to publish the "core overwrite views" with the following command: +``` +php artisan vendor:publish --provider="Rapidez\FullscreenSearch\FullscreenSearchServiceProvider" --tag=core-overwrites +``` + ## Configuration -You can publish the config with: +Don't forget to add this to your config: + +tailwind.config.js +``` +'header-autocomplete-popup': '40', +``` + +config/rapidez/frontend.php ``` -php artisan vendor:publish --tag=rapidez-fullscreen-search-config +'autocomplete' => [ + 'additionals' => [ + 'history' => [], + 'search-suggestions' => [], + 'categories' => [ + 'defaultValues' => fn () => config('rapidez.models.category')::where('parent_id', config('rapidez.root_category_id')) + ->limit(config('rapidez.frontend.autocomplete.additionals.categories.size', config('rapidez.frontend.autocomplete.size', 4))) + ->get(), + ], + 'popular-products' => ['size' => 4], + 'products' => [ + 'size' => 4, + ], + ], + 'size' => 4, +], ``` ## Views diff --git a/config/rapidez/fullscreen-search.php b/config/rapidez/fullscreen-search.php deleted file mode 100644 index 0b67a5f..0000000 --- a/config/rapidez/fullscreen-search.php +++ /dev/null @@ -1,3 +0,0 @@ - + +
+ + +
+ +
+
+
+ diff --git a/resources/views/layouts/partials/header/autocomplete/all-results.blade.php b/resources/views/layouts/partials/header/autocomplete/all-results.blade.php new file mode 100644 index 0000000..00544e8 --- /dev/null +++ b/resources/views/layouts/partials/header/autocomplete/all-results.blade.php @@ -0,0 +1,12 @@ + + + diff --git a/resources/views/layouts/partials/header/autocomplete/categories.blade.php b/resources/views/layouts/partials/header/autocomplete/categories.blade.php new file mode 100644 index 0000000..96f7e88 --- /dev/null +++ b/resources/views/layouts/partials/header/autocomplete/categories.blade.php @@ -0,0 +1,52 @@ + +
+ @if ($size = Arr::get($fields, 'size')) + + @endif + +
+
+ + @lang('Categories') + + +
+ @if ($defaultValues = Arr::get($fields, 'defaultValues')) +
+ + @lang('Categories') + +
    + @foreach (collect(value($defaultValues))->take(Arr::get($fields, 'size', config('rapidez.frontend.autocomplete.size', 3))) as $category) +
  • + + + + {{ $category['name'] }} + +
  • + @endforeach +
+
+ @endif +
+
+
+
diff --git a/resources/views/layouts/partials/header/autocomplete/history.blade.php b/resources/views/layouts/partials/header/autocomplete/history.blade.php new file mode 100644 index 0000000..6119548 --- /dev/null +++ b/resources/views/layouts/partials/header/autocomplete/history.blade.php @@ -0,0 +1,30 @@ + +
+
+ + @lang('Previous Searches') + + + {{-- Add search suggestions to the phone's keyboard --}} + + + +
+
+
diff --git a/resources/views/layouts/partials/header/autocomplete/logo.blade.php b/resources/views/layouts/partials/header/autocomplete/logo.blade.php new file mode 100644 index 0000000..197e904 --- /dev/null +++ b/resources/views/layouts/partials/header/autocomplete/logo.blade.php @@ -0,0 +1 @@ +Rapidez logo \ No newline at end of file diff --git a/resources/views/components/.gitkeep b/resources/views/layouts/partials/header/autocomplete/no-results.blade.php similarity index 100% rename from resources/views/components/.gitkeep rename to resources/views/layouts/partials/header/autocomplete/no-results.blade.php diff --git a/resources/views/layouts/partials/header/autocomplete/popular-products.blade.php b/resources/views/layouts/partials/header/autocomplete/popular-products.blade.php new file mode 100644 index 0000000..d75567f --- /dev/null +++ b/resources/views/layouts/partials/header/autocomplete/popular-products.blade.php @@ -0,0 +1,48 @@ + + + +
+ +

+ @lang('Popular products') +

+ {{-- __NO_QUERY__ is a temporary band-aid for https://github.com/searchkit/searchkit/pull/1407 --}} + + + @if ($size = Arr::get($fields, 'size')) + + @endif + + +
+
+ +
+
+
+
+
+
+
+ diff --git a/resources/views/layouts/partials/header/autocomplete/products.blade.php b/resources/views/layouts/partials/header/autocomplete/products.blade.php new file mode 100644 index 0000000..b94a966 --- /dev/null +++ b/resources/views/layouts/partials/header/autocomplete/products.blade.php @@ -0,0 +1,37 @@ + +
+
+
+

+ + + + +

+ + @include('rapidez::layouts.partials.header.autocomplete.all-results') +
+ +
+
+ +
+
+ +
+ + @lang('Show more') + @lang('Loading')... + +
+
+
+
+
+
diff --git a/resources/views/layouts/partials/header/autocomplete/results.blade.php b/resources/views/layouts/partials/header/autocomplete/results.blade.php new file mode 100644 index 0000000..3bec682 --- /dev/null +++ b/resources/views/layouts/partials/header/autocomplete/results.blade.php @@ -0,0 +1,9 @@ +
+ @foreach (config('rapidez.frontend.autocomplete.additionals') as $key => $fields) + @continue(in_array($key, ['popular-products', 'products'])) + @includeIf('rapidez::layouts.partials.header.autocomplete.' . $key) + @endforeach +
+ +@include('rapidez::layouts.partials.header.autocomplete.popular-products') +@include('rapidez::layouts.partials.header.autocomplete.products') \ No newline at end of file diff --git a/resources/views/layouts/partials/header/autocomplete/search-suggestions.blade.php b/resources/views/layouts/partials/header/autocomplete/search-suggestions.blade.php new file mode 100644 index 0000000..4cccdc5 --- /dev/null +++ b/resources/views/layouts/partials/header/autocomplete/search-suggestions.blade.php @@ -0,0 +1,35 @@ + + + + + +
+ + @lang('Suggestions') + + +
+
+
+
+
\ No newline at end of file diff --git a/src/FullscreenSearchServiceProvider.php b/src/FullscreenSearchServiceProvider.php index 5a1139c..583e797 100644 --- a/src/FullscreenSearchServiceProvider.php +++ b/src/FullscreenSearchServiceProvider.php @@ -6,11 +6,6 @@ class FullscreenSearchServiceProvider extends ServiceProvider { - public function register() - { - $this->mergeConfigFrom(__DIR__.'/../config/rapidez/fullscreen-search.php', 'rapidez.fullscreen-search'); - } - public function boot() { $this @@ -28,12 +23,12 @@ public function bootViews() : self public function bootPublishables() : self { $this->publishes([ - __DIR__.'/../resources/views' => resource_path('views/vendor/rapidez-fullscreen-search'), - ], 'rapidez-fullscreen-search-views'); + __DIR__ . '/../resources/core-overwrites' => resource_path('views/vendor/rapidez'), + ], 'core-overwrites'); $this->publishes([ - __DIR__.'/../config/rapidez/fullscreen-search.php' => config_path('rapidez/fullscreen-search.php'), - ], 'rapidez-fullscreen-search-config'); + __DIR__.'/../resources/views' => resource_path('views/vendor/rapidez-fullscreen-search'), + ], 'rapidez-fullscreen-search-views'); return $this; }