Files
suwayomi-material-you-webui/webUI/react/src/screens/Sources.tsx

28 lines
1.0 KiB
TypeScript
Raw Normal View History

2021-01-26 23:32:12 +03:30
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
2021-01-22 17:00:33 +03:30
import React, { useContext, useEffect, useState } from 'react';
2021-01-19 14:47:07 +03:30
import SourceCard from '../components/SourceCard';
2021-01-22 17:00:33 +03:30
import NavBarTitle from '../context/NavbarTitle';
import client from '../util/client';
2021-01-19 14:47:07 +03:30
export default function Sources() {
2021-01-22 17:00:33 +03:30
const { setTitle } = useContext(NavBarTitle);
setTitle('Sources');
2021-01-19 14:47:07 +03:30
const [sources, setSources] = useState<ISource[]>([]);
2021-03-07 16:27:13 +03:30
const [fetched, setFetched] = useState<boolean>(false);
2021-01-19 14:47:07 +03:30
useEffect(() => {
client.get('/api/v1/source/list')
.then((response) => response.data)
2021-03-07 16:27:13 +03:30
.then((data) => { setSources(data); setFetched(true); });
2021-01-19 14:47:07 +03:30
}, []);
if (sources.length === 0) {
2021-03-07 16:27:13 +03:30
if (fetched) return (<h3>No sources found. Install Some Extensions first.</h3>);
return (<h3>loading...</h3>);
2021-01-19 14:47:07 +03:30
}
2021-01-23 01:33:12 +03:30
return <>{sources.map((it) => <SourceCard source={it} />)}</>;
2021-01-19 14:47:07 +03:30
}