feat: erroreen kudeaketa sartzen du
This commit is contained in:
@@ -5,6 +5,7 @@ import styles from "./YT2RSS.module.scss";
|
|||||||
export const YT2RSS: React.FC = () => {
|
export const YT2RSS: React.FC = () => {
|
||||||
const [rssFeed, setRssFeed] = useState();
|
const [rssFeed, setRssFeed] = useState();
|
||||||
const [isLoading, setIsLoading] = useState(false);
|
const [isLoading, setIsLoading] = useState(false);
|
||||||
|
const [hasError, setHasError] = useState(false);
|
||||||
|
|
||||||
const handleSubmit: SubmitEventHandler<HTMLFormElement> = async (e) => {
|
const handleSubmit: SubmitEventHandler<HTMLFormElement> = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@@ -20,11 +21,20 @@ export const YT2RSS: React.FC = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
|
setHasError(false);
|
||||||
|
setRssFeed(undefined);
|
||||||
|
try {
|
||||||
const res = await fetch("/api/yt?url=" + encodeURIComponent(ytUrl));
|
const res = await fetch("/api/yt?url=" + encodeURIComponent(ytUrl));
|
||||||
|
if (!res.ok) {
|
||||||
|
throw new Error("Errorea gertatu da informazioa eskuratzean");
|
||||||
|
}
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
setIsLoading(false);
|
|
||||||
|
|
||||||
setRssFeed(data.href);
|
setRssFeed(data.href);
|
||||||
|
} catch {
|
||||||
|
setHasError(true);
|
||||||
|
} finally {
|
||||||
|
setIsLoading(false);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -48,6 +58,13 @@ export const YT2RSS: React.FC = () => {
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
{rssFeed && <p className={styles.rssFeed}>{rssFeed}</p>}
|
{rssFeed && <p className={styles.rssFeed}>{rssFeed}</p>}
|
||||||
|
|
||||||
|
{hasError && (
|
||||||
|
<p className={styles.rssFeed}>
|
||||||
|
Errore bat izan da. Errebisatu kanalaren URL-a egokia dela eta saiatu
|
||||||
|
berriro.
|
||||||
|
</p>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user