пароль на семьи

This commit is contained in:
arrelin
2025-12-15 16:51:09 +03:00
parent 1e393c79b5
commit 27d8d8ff4c
12 changed files with 330 additions and 28 deletions

View File

@@ -13,6 +13,7 @@ export default function AdminPanel() {
const [loginError, setLoginError] = useState('');
const [newFamilyName, setNewFamilyName] = useState('');
const [newFamilyPassword, setNewFamilyPassword] = useState('');
const [families, setFamilies] = useState<Array<{ id: number; name: string }>>([]);
useEffect(() => {
@@ -64,11 +65,15 @@ export default function AdminPanel() {
};
const handleCreateFamily = async () => {
if (!newFamilyName.trim()) return;
if (!newFamilyName.trim() || !newFamilyPassword.trim()) {
alert('Заполните название и пароль семьи');
return;
}
try {
await familyApi.create({ name: newFamilyName });
await familyApi.create({ name: newFamilyName, password: newFamilyPassword });
setNewFamilyName('');
setNewFamilyPassword('');
loadFamilies();
} catch (err) {
alert('Ошибка создания семьи');
@@ -168,17 +173,24 @@ export default function AdminPanel() {
Создать новую семью
</h2>
<div className="flex gap-2">
<div className="space-y-3">
<input
type="text"
placeholder="Название семьи"
value={newFamilyName}
onChange={(e) => setNewFamilyName(e.target.value)}
className="flex-1 px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
<input
type="password"
placeholder="Пароль семьи"
value={newFamilyPassword}
onChange={(e) => setNewFamilyPassword(e.target.value)}
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
<button
onClick={handleCreateFamily}
className="px-6 py-2 bg-green-600 text-white rounded-lg hover:bg-green-700 transition"
className="w-full px-6 py-2 bg-green-600 text-white rounded-lg hover:bg-green-700 transition"
>
Создать
</button>