Compare commits

..

No commits in common. "caa48d3b62c677904f08936c5d820868ee9a44f3" and "a6a759b8f952792848daaf0c2c2d8ea3930da4d6" have entirely different histories.

6 changed files with 9 additions and 32 deletions

View File

@ -31,17 +31,10 @@ function ajax_search()
} }
$result = array(); $result = array();
$recipes = array(); $recipes = RecipeModel::filter(
$recipe_models = RecipeModel::filter(
count: 5, count: 5,
search: $search_query search: $search_query
); );
foreach ($recipe_models as $recipe_model) {
$recipe = $recipe_model->getAssocArr();
$recipe['image_url'] = $recipe_model->get_image_url();
$recipe['url'] = $recipe_model->get_absolute_url();
$recipes[] = $recipe;
}
$result['count'] = count($recipes); $result['count'] = count($recipes);
$result['result'] = $recipes; $result['result'] = $recipes;
@ -139,9 +132,7 @@ function ajax_search_ingredient()
search: $search_query search: $search_query
); );
$result['count'] = count($ingredients); $result['count'] = count($ingredients);
$result['result'] = array_map(function($ing) { $result['result'] = $ingredients;
return $ing->getAssocArr();
}, $ingredients);
return $result; return $result;
} }

View File

@ -86,10 +86,6 @@ class RecipeModel extends BaseModel
);'); );');
return $result; return $result;
} }
public function get_absolute_url()
{
return get_permalink('recipes:single', [ $this->get_id() ]);
}
public function get_price() public function get_price()
{ {
return $this->field_estimated_price . '$'; return $this->field_estimated_price . '$';

View File

@ -1,4 +1,4 @@
<a href="<?= $recipe->get_absolute_url() ?>" class="catalog-recipe hover-anim"> <a href="<?php the_permalink('recipes:single', [$recipe->get_id()]) ?>" class="catalog-recipe hover-anim">
<div class="catalog-recipe__image"> <div class="catalog-recipe__image">
<img src="<?= $recipe->get_image_url() ?>" alt="<?= $recipe->field_title ?>"> <img src="<?= $recipe->get_image_url() ?>" alt="<?= $recipe->field_title ?>">
</div> </div>

View File

@ -76,10 +76,9 @@ searchInput.addEventListener('input', function () {
searchTimeout = setTimeout(async () => { searchTimeout = setTimeout(async () => {
let searchValue = this.value.trim(); let searchValue = this.value.trim();
if (searchValue.length < 3) { if (searchValue.length < 3) {
searchResults.innerHTML = ''; searchResults.innerHTML = '';
searchResults.hidden = true; searchResults.classList.add('hidden');
return; return;
} }
@ -108,22 +107,16 @@ searchInput.addEventListener('input', function () {
results.forEach(result => { results.forEach(result => {
searchResults.innerHTML += ` searchResults.innerHTML += `
<div class="search-result-item hover-anim"> <div class="search-result-item hover-anim">
<a href="${result.url}" class="search-result-link"> <a href="#" class="search-result-link">
${result.field_title} ${result.field_title}
</a> </a>
</div> </div>
`; `;
}); });
searchResults.hidden = false; searchResults.classList.remove('hidden');
} else { } else {
searchResults.innerHTML = `<div class="search-result-item">No recipes found</div>`; searchResults.innerHTML = `<div class="search-result-item">No recipes found</div>`;
searchResults.hidden = false; searchResults.classList.remove('hidden');
} }
}, 300); }, 300);
});
document.addEventListener('click', function (event) {
if (!searchResults.contains(event.target) && event.target !== searchInput) {
searchResults.hidden = true;
}
}); });

View File

@ -67,7 +67,7 @@
<div class="search-and-login"> <div class="search-and-login">
<i class="fa-solid fa-magnifying-glass search-icon"></i> <i class="fa-solid fa-magnifying-glass search-icon"></i>
<input type="text" id="search-input" class="search-input" placeholder="Search recipes..."> <input type="text" id="search-input" class="search-input" placeholder="Search recipes...">
<div class="search-results" id="search-results" hidden> <div class="search-results hidden" id="search-results">
</div> </div>
<a href="<?php the_permalink(CURRENT_USER ? 'users:profile' : 'users:login') ?>" <a href="<?php the_permalink(CURRENT_USER ? 'users:profile' : 'users:login') ?>"

View File

@ -364,9 +364,6 @@ abstract class BaseModel
else else
return $filter_result[0]->func_total_count; return $filter_result[0]->func_total_count;
} }
public function getAssocArr() {
return get_object_vars($this);
}
public function delete() public function delete()
{ {
@ -439,7 +436,7 @@ abstract class BaseModel
/** /**
* Return model from Mysql result * Return model from Mysql result
* @param array $pdo_result pdo resut FETCH_MODE = FETCH_ASSOC * @param array $pdo_result pdo resut FETCH_MODE = FETCH_ASSOC
* @return array(self) * @return array
*/ */
protected static function createObjectsFromQuery(array $pdo_result) protected static function createObjectsFromQuery(array $pdo_result)
{ {