skeleton updated
This commit is contained in:
parent
f423d4acb6
commit
4d883d27e1
|
@ -23,7 +23,6 @@ const Home = () => {
|
||||||
if (!hasMore) return;
|
if (!hasMore) return;
|
||||||
|
|
||||||
setShowSkeleton(true);
|
setShowSkeleton(true);
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
axios
|
axios
|
||||||
.get(`https://swapi.py4e.com/api/people/?page=${page}`)
|
.get(`https://swapi.py4e.com/api/people/?page=${page}`)
|
||||||
|
@ -37,6 +36,10 @@ const Home = () => {
|
||||||
}
|
}
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
setShowSkeleton(false);
|
setShowSkeleton(false);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
setShowSkeleton(false);
|
||||||
|
setHasMore(false);
|
||||||
});
|
});
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}, [page]);
|
}, [page]);
|
||||||
|
@ -57,13 +60,11 @@ const Home = () => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FILTER DATA ACCORDING TO CHARACTER NAME
|
|
||||||
const filtered = data.filter((character) =>
|
const filtered = data.filter((character) =>
|
||||||
character.name.toLowerCase().includes(query)
|
character.name.toLowerCase().includes(query)
|
||||||
);
|
);
|
||||||
setFilteredData(filtered);
|
setFilteredData(filtered);
|
||||||
|
|
||||||
// AUTO COMPLETE SUGGESTIONS
|
|
||||||
const autoSuggestions = data
|
const autoSuggestions = data
|
||||||
.map((character) => character.name)
|
.map((character) => character.name)
|
||||||
.filter((name) => name.toLowerCase().includes(query))
|
.filter((name) => name.toLowerCase().includes(query))
|
||||||
|
@ -71,7 +72,6 @@ const Home = () => {
|
||||||
setSuggestions(autoSuggestions);
|
setSuggestions(autoSuggestions);
|
||||||
};
|
};
|
||||||
|
|
||||||
// AUTO COMPLETE SUGGESTIONS ONCLICK
|
|
||||||
const handleSuggestionClick = (suggestion) => {
|
const handleSuggestionClick = (suggestion) => {
|
||||||
setSearchQuery(suggestion);
|
setSearchQuery(suggestion);
|
||||||
setFilteredData(
|
setFilteredData(
|
||||||
|
@ -124,7 +124,7 @@ const Home = () => {
|
||||||
|
|
||||||
<CharacterCard data={filteredData} />
|
<CharacterCard data={filteredData} />
|
||||||
|
|
||||||
{showSkeleton && (
|
{showSkeleton && hasMore && (
|
||||||
<ul className="skeleton-character-container">
|
<ul className="skeleton-character-container">
|
||||||
{[...Array.from({ length: 5 })].map((_, index) => (
|
{[...Array.from({ length: 5 })].map((_, index) => (
|
||||||
<li className="skeleton-character-card skeleton" key={index}>
|
<li className="skeleton-character-card skeleton" key={index}>
|
||||||
|
@ -138,7 +138,6 @@ const Home = () => {
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{hasMore && <div ref={ref}></div>}
|
{hasMore && <div ref={ref}></div>}
|
||||||
|
|
Loading…
Reference in a new issue