diff --git a/app/admin/page.tsx b/app/admin/page.tsx index 6ad32c8..b280518 100644 --- a/app/admin/page.tsx +++ b/app/admin/page.tsx @@ -14,7 +14,6 @@ import { } from '@/lib/api'; import Header from '@/components/header'; import Link from 'next/link'; -import SettingsSection from '@/components/admin/SettingsSection'; import ItemCard from '@/components/admin/ItemCard'; import ItemForm from '@/components/admin/ItemForm'; import ImageUpload from '@/components/image-upload'; @@ -42,7 +41,7 @@ function AdminPageContent() { homepageSubtext: '', }); - // Wishlist edit state + // Unified config edit state const [isEditingWishlist, setIsEditingWishlist] = useState(false); const [editForm, setEditForm] = useState({ name: '', @@ -51,6 +50,8 @@ function AdminPageContent() { preferences: '', imageUrl: '', isPublic: true, + siteTitle: '', + homepageSubtext: '', }); const [editError, setEditError] = useState(''); const [isWishlistImageUploading, setIsWishlistImageUploading] = useState(false); @@ -105,6 +106,8 @@ function AdminPageContent() { preferences: wishlist.preferences || '', imageUrl: wishlist.imageUrl || '', isPublic: wishlist.isPublic, + siteTitle: settings.siteTitle, + homepageSubtext: settings.homepageSubtext, }); setEditError(''); setIsEditingWishlist(true); @@ -115,11 +118,16 @@ function AdminPageContent() { if (!wishlist) return; setEditError(''); try { - const updated = await wishlistsApi.update(wishlist.id, editForm); + const { siteTitle, homepageSubtext, ...wishlistFields } = editForm; + const [updated] = await Promise.all([ + wishlistsApi.update(wishlist.id, wishlistFields), + settingsApi.updateSettings({ siteTitle, homepageSubtext }), + ]); setWishlist(updated); + setSettings({ siteTitle, homepageSubtext }); setIsEditingWishlist(false); } catch (error: any) { - setEditError(error.message || 'Failed to update wishlist'); + setEditError(error.message || 'Failed to update settings'); } }; @@ -181,10 +189,6 @@ function AdminPageContent() { } }; - const handleUpdateSettings = async (updatedSettings: Settings) => { - await settingsApi.updateSettings(updatedSettings); - setSettings(updatedSettings); - }; const editingItem = items.find((item) => item.id === editingItemId); @@ -229,55 +233,72 @@ function AdminPageContent() { ) : ( <> - {/* Settings Section */} - - - {/* Wishlist Info Section */} + {/* Unified Settings & Wishlist Config */} {wishlist && (
+
+

Configurações

+ {!isEditingWishlist && ( + + )} +
{isEditingWishlist ? (
-

- Editar Lista -

{editError && (
{editError}
)} - - setEditForm((prev) => ({ ...prev, imageUrl: url })) - } - onUploadStateChange={setIsWishlistImageUploading} - type="wishlist" - label="Imagem da Lista" - /> +
+
+ + setEditForm((prev) => ({ ...prev, siteTitle: e.target.value }))} + className="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 dark:bg-gray-700 dark:text-white" + /> +
+
+ + setEditForm((prev) => ({ ...prev, name: e.target.value }))} + className="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 dark:bg-gray-700 dark:text-white" + /> +
+
- - setEditForm((prev) => ({ ...prev, name: e.target.value })) - } +