Files
frontend/packages/ui/src/StateView/StateView.tsx
T
ksv741 ca0ad4f824
Frontend verify / commits (pull_request) Successful in 28s
Frontend verify / security (pull_request) Successful in 10s
Frontend verify / verify (pull_request) Successful in 8m19s
refactor: enforce frontend view model boundaries
2026-09-28 18:48:23 +03:00

30 lines
606 B
TypeScript

import type { FC, ReactNode } from "react";
import { Paper, Stack, Text, Title } from "@mantine/core";
type StateViewProps = {
action?: ReactNode;
error?: boolean;
text: string;
title: string;
};
const StateView: FC<StateViewProps> = (props) => {
const { action, error = false, text, title } = props;
const role = error ? "alert" : undefined;
return (
<Paper p="xl" radius="md" role={role} shadow="xs" withBorder>
<Stack align="flex-start" gap="sm">
<Title order={2}>{title}</Title>
<Text c="dimmed">{text}</Text>
{action}
</Stack>
</Paper>
);
};
export { StateView };