mirror of
https://github.com/NohamR/gitprofile.git
synced 2026-05-25 12:27:17 +00:00
Handle exception
This commit is contained in:
38
src/App.js
38
src/App.js
@@ -67,23 +67,23 @@ function App() {
|
|||||||
dispatch(setRepo(data.items));
|
dispatch(setRepo(data.items));
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error('Error:', error);
|
handleError(error);
|
||||||
|
|
||||||
try {
|
|
||||||
setRateLimit({
|
|
||||||
remaining: error.response.headers['x-ratelimit-remaining'],
|
|
||||||
reset: moment(new Date(error.response.headers['x-ratelimit-reset'] * 1000)).fromNow(),
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
} catch (error2) {
|
|
||||||
console.error('Error:', error2);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error('Error:', error);
|
handleError(error);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
dispatch(setLoading(false));
|
||||||
|
});
|
||||||
|
}, [dispatch])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
loadData();
|
||||||
|
}, [loadData])
|
||||||
|
|
||||||
|
const handleError = (error) => {
|
||||||
|
console.error('Error:', error);
|
||||||
try {
|
try {
|
||||||
setRateLimit({
|
setRateLimit({
|
||||||
remaining: error.response.headers['x-ratelimit-remaining'],
|
remaining: error.response.headers['x-ratelimit-remaining'],
|
||||||
@@ -100,15 +100,7 @@ function App() {
|
|||||||
} catch (error2) {
|
} catch (error2) {
|
||||||
setError(500);
|
setError(500);
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
.finally(() => {
|
|
||||||
dispatch(setLoading(false));
|
|
||||||
});
|
|
||||||
}, [dispatch])
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
loadData();
|
|
||||||
}, [loadData])
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Fragment>
|
<Fragment>
|
||||||
@@ -120,7 +112,7 @@ function App() {
|
|||||||
<ErrorPage
|
<ErrorPage
|
||||||
status={`${error}`}
|
status={`${error}`}
|
||||||
title={(error === 404) ? 'The Github Username is Incorrect' : (
|
title={(error === 404) ? 'The Github Username is Incorrect' : (
|
||||||
error === 403 ? 'Too Many Request.' : `${error}`
|
error === 403 ? 'Too Many Request.' : `Ops!!`
|
||||||
)}
|
)}
|
||||||
subTitle={
|
subTitle={
|
||||||
(error === 404) ? (
|
(error === 404) ? (
|
||||||
|
|||||||
@@ -2,18 +2,18 @@ import PropTypes from 'prop-types';
|
|||||||
|
|
||||||
const ErrorPage = (props) => {
|
const ErrorPage = (props) => {
|
||||||
return (
|
return (
|
||||||
<div class="min-w-screen min-h-screen bg-base-200 flex items-center p-5 lg:p-20 overflow-hidden relative">
|
<div className="min-w-screen min-h-screen bg-base-200 flex items-center p-5 lg:p-20 overflow-hidden relative">
|
||||||
<div class="flex-1 min-h-full min-w-full rounded-3xl bg-base-100 shadow-xl p-10 lg:p-20 text-gray-800 relative md:flex items-center text-center md:text-left">
|
<div className="flex-1 min-h-full min-w-full rounded-3xl bg-base-100 shadow-xl p-10 lg:p-20 text-gray-800 relative md:flex items-center text-center md:text-left">
|
||||||
<div class="w-full">
|
<div className="w-full">
|
||||||
<div class="mb-10 md:mb-20 mt-10 md:mt-20 text-gray-600 font-light">
|
<div className="mb-10 md:mb-20 mt-10 md:mt-20 text-gray-600 font-light">
|
||||||
<h1 class="font-black uppercase text-3xl lg:text-5xl text-primary mb-10">{props.status}</h1>
|
<h1 className="font-black uppercase text-3xl lg:text-5xl text-primary mb-10">{props.status}</h1>
|
||||||
<p className="text-lg pb-2 text-base-content">{props.title}</p>
|
<p className="text-lg pb-2 text-base-content">{props.title}</p>
|
||||||
<p className="text-base-content text-opacity-60">{props.subTitle}</p>
|
<p className="text-base-content text-opacity-60">{props.subTitle}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-64 md:w-96 h-96 md:h-full bg-accent bg-opacity-10 absolute -top-64 md:-top-96 right-20 md:right-32 rounded-full pointer-events-none -rotate-45 transform"></div>
|
<div className="w-64 md:w-96 h-96 md:h-full bg-accent bg-opacity-10 absolute -top-64 md:-top-96 right-20 md:right-32 rounded-full pointer-events-none -rotate-45 transform"></div>
|
||||||
<div class="w-96 h-full bg-secondary bg-opacity-10 absolute -bottom-96 right-64 rounded-full pointer-events-none -rotate-45 transform"></div>
|
<div className="w-96 h-full bg-secondary bg-opacity-10 absolute -bottom-96 right-64 rounded-full pointer-events-none -rotate-45 transform"></div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user