Download client/src/components/ErrorDisplay.jsx from Mistral-AI-Game-Jam/ai-interactive-comic-book: direct link, hf CLI and curl.
- Browser
- Download file 1.15 kB
-
https://huggingface.co/spaces/Mistral-AI-Game-Jam/ai-interactive-comic-book/resolve/main/client/src/components/ErrorDisplay.jsx
- Command line
-
hf download hf://spaces/Mistral-AI-Game-Jam/ai-interactive-comic-book/client/src/components/ErrorDisplay.jsx
-
curl -L -o ErrorDisplay.jsx https://huggingface.co/spaces/Mistral-AI-Game-Jam/ai-interactive-comic-book/resolve/main/client/src/components/ErrorDisplay.jsx
1.15 kB
| import { Box, Typography, Button } from "@mui/material"; | |
| import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline"; | |
| export function ErrorDisplay({ message, onRetry }) { | |
| return ( | |
| <Box | |
| sx={{ | |
| position: "absolute", | |
| top: 0, | |
| left: 0, | |
| right: 0, | |
| bottom: 0, | |
| display: "flex", | |
| flexDirection: "column", | |
| alignItems: "center", | |
| justifyContent: "center", | |
| backgroundColor: "rgba(0, 0, 0, 0.9)", | |
| color: "white", | |
| zIndex: 1000, | |
| gap: 3, | |
| p: 4, | |
| textAlign: "center", | |
| }} | |
| > | |
| <ErrorOutlineIcon sx={{ fontSize: 64, color: "error.main" }} /> | |
| <Typography variant="h5" component="h2"> | |
| An error occurred | |
| </Typography> | |
| <Typography variant="body1" color="text.secondary" sx={{ maxWidth: 600 }}> | |
| {message || | |
| "The storyteller is temporarily unavailable. Please try again in a few moments..."} | |
| </Typography> | |
| <Button | |
| variant="contained" | |
| color="primary" | |
| onClick={onRetry} | |
| sx={{ mt: 2 }} | |
| > | |
| Retry | |
| </Button> | |
| </Box> | |
| ); | |
| } | |