refactor: enforce frontend view model boundaries
Frontend verify / commits (pull_request) Successful in 28s
Frontend verify / security (pull_request) Successful in 10s
Frontend verify / verify (pull_request) Successful in 8m19s

This commit is contained in:
2026-09-28 18:48:23 +03:00
parent 5b69003516
commit ca0ad4f824
287 changed files with 8558 additions and 4538 deletions
+15 -1
View File
@@ -19,16 +19,26 @@ const StockPage: FC = () => {
<LoadingSkeleton label={t("stock.loading")}>
<Stack>
<Skeleton h={110} />
<Skeleton h={350} />
<Skeleton h={170} />
</Stack>
</LoadingSkeleton>
);
const unavailableMessage = isApiErrorCode(vm.code, ApiErrorCode.StockTickerAmbiguous) ? "stock.ambiguousTicker" : "stock.unavailableText";
const unavailableMessage = isApiErrorCode(
vm.code,
ApiErrorCode.StockTickerAmbiguous,
)
? "stock.ambiguousTicker"
: "stock.unavailableText";
if (!vm.stock)
return (
<Stack role="alert">
<Title order={1}>{t("stock.unavailable")}</Title>
<Text>
{t(
isApiErrorCode(vm.code, ApiErrorCode.TbankNotConnected)
@@ -37,17 +47,21 @@ const StockPage: FC = () => {
: unavailableMessage,
)}
</Text>
<Anchor component={Link} to="/stocks">
{t("stock.backToSearch")}
</Anchor>
<Anchor component={Link} to="/settings">
{t("accounts.openSettings")}
</Anchor>
<Button onClick={vm.stockState.retry} variant="default">
{t("accounts.retry")}
</Button>
</Stack>
);
return <StockPageView vm={vm} />;
};