Подписка с уведомлением
Сделай форму подписки на рассылку с полем для почты и кнопкой «Подписаться». После отправки поле очищается, а в углу экрана появляется уведомление «Готово» с текстом, что письмо отправлено.
subscribe-toast__readme__claude-code__claude-opus-5__1 · 23.09.2026, 20:02:23 мск
Есть проблемы
README · claude-opus-5 · Claude CodeКонтекст до задачи~798
Токенов на прогон11 565
Цена$0.064
Ошибок компилятора2
Первый вызов модели получил 9 508 токенов входа, включая системный промпт Claude Code. Контекст до задачи — оценка по длине текста, для русского текста она занижает число токенов в полтора-два раза.
Компилятор
- Строка 4 · TS2305
Module '"@jinx-ui/react"' has no exported member 'JxInput'. - Строка 35 · TS2322
Type '{ children: string; open: boolean; onOpenChange: Dispatch<SetStateAction<boolean>>; placement: string; title: string; }' is not assignable to type 'IntrinsicAttributes & JxToastProps'.
Выдуманные компоненты
JxInput
Выдуманные пропсы
JxToast.children
Линтер и покрытие
- inline-styleСтрока 21Инлайновые стили вместо классов и токенов библиотеки
Компоненты библиотеки
JxButton, JxInput, JxToast
Ожидались JxInputField, JxButton, JxToastViewport · покрытие 33%
README (README.md, ~644)
Вход 2 · выход 2 057 · из кэша 8 233 · в кэш 1 273 · 27 с
Рендер
Код компонента
tsx45 строк
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
// API названия полей/тостов Jinx UI сверены по README лишь частично: JxButton точно есть,
// JxInput/JxToast взяты по документированному контракту value+onValueChange / open+onOpenChange — сверь с типами пакета.
import { useState, type FormEvent } from 'react';
import { JxButton, JxInput, JxToast } from '@jinx-ui/react';
export default function NewsletterSubscribeForm() {
const [email, setEmail] = useState('');
const [isToastOpen, setIsToastOpen] = useState(false);
const handleSubmit = (event: FormEvent<HTMLFormElement>) => {
event.preventDefault();
if (!email.trim()) return;
setEmail('');
setIsToastOpen(true);
};
return (
<form
className="jx-stack"
onSubmit={handleSubmit}
style={{ gap: 'var(--jx-space-3)', maxWidth: 'var(--jx-size-sm)' }}
>
<JxInput
type="email"
name="email"
required
label="Электронная почта"
placeholder="you@example.com"
value={email}
onValueChange={setEmail}
/>
<JxButton type="submit" variant="primary">
Подписаться
</JxButton>
<JxToast
open={isToastOpen}
onOpenChange={setIsToastOpen}
placement="bottom-right"
title="Готово"
>
Письмо отправлено на указанный адрес.
</JxToast>
</form>
);
}