Кнопка «Войти» открывает выезжающую снизу панель. На первом экране — вход через соцсети, вкладки почты, телефона и ключа доступа с подсвеченной плашкой активной вкладки и кнопка подключения кошелька.
После ввода почты или телефона панель переходит к вводу шестизначного кода, для ключа доступа показывается кнопка с бегущей по контуру подсветкой, а экран кошелька предлагает список популярных кошельков. При каждой смене экрана высота панели плавно подстраивается под содержимое.
Скопируйте эти файлы в components/wallet-sign-in/:
Общие помощники положите в lib/ проекта:
Проверьте алиас путей. Импорты в коде выше записаны как @/components/... и @/lib/.... Нужен алиас "@/*" на папку, где лежат components/ и lib/, в tsconfig.json — или поправьте импорты под свои пути.
import { WalletSignIn } from "@/components/wallet-sign-in/wallet-sign-in";
export function Login() {
return (
<div className="h-[720px]">
<WalletSignIn triggerLabel="Войти" defaultMethod="Phone" />
</div>
);
}hint?Подсказка над кнопкой
Тип string·По умолчанию "Нажмите, чтобы войти"
triggerLabel?Текст кнопки, открывающей панель
Тип string·По умолчанию "Войти"
defaultOpen?Открыть панель сразу
Тип boolean·По умолчанию false
defaultMethod?Вкладка, выбранная при открытии
Тип "Email" | "Phone" | "Passkey"·По умолчанию "Email"
email?Пример почты в поле и на экране кода
Тип string·По умолчанию "you@astra.ru"
phone?Пример телефона в поле и на экране кода
Тип string·По умолчанию "+7 (900) 123-45-67"
accent?Цвет кнопок подтверждения и кошелька
Тип string·По умолчанию цвет бренда
className?Классы корневого блока
Тип string