@state-less/leap-frontend
Version:
A collection of open source fullstack services powered by React Server
20 lines (19 loc) • 1.07 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useComponent } from '@state-less/react-client';
import { Alert } from '@mui/material';
import { useState, useEffect } from 'react';
export const Server = ({ ssr }) => {
const [props, { loading, error }] = useComponent('server', {
suspend: true,
ssr,
});
const [count, setCount] = useState(0);
useEffect(() => {
setTimeout(setCount, 1000, (count + 1) % 2);
});
const dur = Date.now() - props?.uptime;
const dt = new Date(dur).toUTCString().split(' ').at(-2);
const days = Math.floor(dur / (1000 * 60 * 60 * 24));
console.log('Error connecting to server', props, error);
return (_jsxs("div", { children: [loading && _jsx(Alert, { severity: "info", children: "Loading..." }), error && _jsx(Alert, { severity: "error", children: "Server is down..." }), !error && !loading && (_jsxs(Alert, { severity: "success", children: ["Server running react-server v", props?.version, " for ", days, ":", dt, " on", ' ', props?.platform] }))] }));
};