Skip to content

Commit

Permalink
Merge pull request #29 from WildCodeSchool/feature/search-bar
Browse files Browse the repository at this point in the history
Correction d'un bug de la search bar qui ne se fermait pas lorsque l'…
  • Loading branch information
YDrogen authored Feb 25, 2025
2 parents 51eeef0 + f120653 commit d72bb61
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 4 deletions.
17 changes: 15 additions & 2 deletions src/components/characters.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useState } from 'react';
import { useEffect, useState } from 'react';

import '../style/characters.scss';

Expand All @@ -9,9 +9,22 @@ export default function Characters({ data, onClick }) {
setIsVisible(false);
};

const handleClickOutside = (event) => {
if (isVisible && !event.target.closest('.search-container')) {
hideCharacters();
}
};

useEffect(() => {
document.addEventListener('click', handleClickOutside);
return () => {
document.removeEventListener('click', handleClickOutside);
};
});

return (
<>
<div className='search-container' style={{ display: isVisible ? 'block' : 'none' }}>
<div className='search-container' style={{ display: isVisible ? '' : 'none' }}>
<div className='search-result' onClick={hideCharacters}>
<button className='close-search' onClick={hideCharacters}>
X
Expand Down
17 changes: 15 additions & 2 deletions src/components/comics.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useState } from 'react';
import { useEffect, useState } from 'react';
import { Link } from 'react-router-dom';

import '../style/comics.scss';
Expand All @@ -10,8 +10,21 @@ export default function Comics({ data, onClick }) {
setIsVisible(false);
};

const handleClickOutside = (event) => {
if (isVisible && !event.target.closest('.search-container')) {
hideComics();
}
};

useEffect(() => {
document.addEventListener('click', handleClickOutside);
return () => {
document.removeEventListener('click', handleClickOutside);
};
});

return (
<div className='search-container' style={{ display: isVisible ? 'block' : 'none' }}>
<div className='search-container' style={{ display: isVisible ? '' : 'none' }}>
<div className='search-result' onClick={hideComics}>
<button className='close-search' onClick={hideComics}>
X
Expand Down

0 comments on commit d72bb61

Please sign in to comment.