import { useParams, Link } from 'react-router-dom' import { Loading, ErrorState } from '../../components/PageState.jsx' import CharacterSheet from '../../components/CharacterSheet.jsx' import { useAsync } from '../../lib/useAsync.js' import { api } from '../../api/client.js' // A player's character sheet inside the portal. Owner-checked: the endpoint only // returns a sheet for a character on an account linked to the caller. export default function PlayerCharacter() { const { serial } = useParams() const { loading, error, data } = useAsync(() => api.player.shard.char(serial), [serial]) const restarting = error && error.status === 503 const forbidden = error && error.status === 403 return (

← Back to characters

{loading && } {restarting && } {forbidden && } {error && !restarting && !forbidden && } {!loading && !error && data && }
) }