UNPKG

@state-less/leap-frontend

Version:

A collection of open source fullstack services powered by React Server

24 lines (23 loc) 911 B
import { jsx as _jsx } from "react/jsx-runtime"; import { Alert } from '@mui/material'; import { useComponent } from '@state-less/react-client'; export const ServerSession = ({ ssr }) => { const [component, { error, loading }] = useComponent('session', { suspend: true, ssr, }); if (loading) return _jsx(Alert, { severity: "info", children: "Loading..." }); if (error) return _jsx(Alert, { severity: "error", children: error.message }); return (_jsx(Alert, { severity: "success", children: `Currently logged in on the server as ${sessionInfo(component.props.session)}` })); }; export const googleInfo = (session) => { return `${session.strategies.google.decoded.name} (${session.strategies.google.decoded.email})`; }; const handler = { google: googleInfo, }; export const sessionInfo = (session) => { return handler[session.strategy](session); };