'use client' import { useState } from 'react' import { Button } from '@/components/ui/button' export function LoginForm() { const [handle, setHandle] = useState('') function handleChange(value: string) { setHandle(value.startsWith('@') ? value.slice(1) : value) } function handleSubmit(event: React.FormEvent) { event.preventDefault() const loginUrl = `/api/login?handle=${encodeURIComponent(handle.trim())}` window.location.href = loginUrl } return (
@ handleChange(e.target.value)} placeholder="handle.bsky.social" className="w-full h-12 rounded-lg border border-border bg-card pl-8 pr-4 text-sm font-mono placeholder:text-[var(--fo-text3)] focus:outline-none focus:ring-2 focus:ring-[var(--fo-ember)] transition-shadow" autoFocus autoComplete="username" spellCheck={false} />

Uses AT Protocol OAuth. FlockOff only requests permission to manage your blocks.

) }