misc_pterodactyl-panel/resources/scripts/components/dashboard/DashboardContainer.tsx

34 lines
1,012 B
TypeScript
Raw Normal View History

import React, { useEffect, useState } from 'react';
import { Server } from '@/api/server/getServer';
import getServers from '@/api/getServers';
import ServerRow from '@/components/dashboard/ServerRow';
import Spinner from '@/components/elements/Spinner';
2019-06-26 04:28:56 +00:00
export default () => {
const [ servers, setServers ] = useState<null | Server[]>(null);
const loadServers = () => getServers().then(data => setServers(data.items));
useEffect(() => {
loadServers();
}, []);
if (servers === null) {
return <Spinner size={'large'} centered={true}/>;
}
return (
<div className={'my-10'}>
2019-12-23 04:56:34 +00:00
{servers.length > 0 ?
servers.map(server => (
<ServerRow key={server.uuid} server={server} className={'mt-2'}/>
))
2019-12-22 23:31:12 +00:00
:
<p className={'text-center text-sm text-neutral-400'}>
It looks like you have no servers.
</p>
}
2019-06-26 05:00:28 +00:00
</div>
);
};