diff --git a/src/app/(dashboard)/contacts/page.tsx b/src/app/(dashboard)/contacts/page.tsx
index 20c685f..50182ba 100644
--- a/src/app/(dashboard)/contacts/page.tsx
+++ b/src/app/(dashboard)/contacts/page.tsx
@@ -40,10 +40,12 @@ import {
Users,
ChevronLeft,
ChevronRight,
+ SlidersHorizontal,
} from 'lucide-react';
import { ContactForm } from '@/components/contacts/contact-form';
import { ContactDetailView } from '@/components/contacts/contact-detail-view';
import { ImportModal } from '@/components/contacts/import-modal';
+import { CustomFieldsManager } from '@/components/contacts/custom-fields-manager';
import { useCan } from '@/hooks/use-can';
import { GatedButton } from '@/components/ui/gated-button';
@@ -56,6 +58,7 @@ interface ContactWithTags extends Contact {
export default function ContactsPage() {
const supabase = createClient();
const canEdit = useCan('send-messages');
+ const canEditSettings = useCan('edit-settings');
const [contacts, setContacts] = useState([]);
const [loading, setLoading] = useState(true);
@@ -70,6 +73,7 @@ export default function ContactsPage() {
const [detailOpen, setDetailOpen] = useState(false);
const [detailContactId, setDetailContactId] = useState(null);
const [importOpen, setImportOpen] = useState(false);
+ const [customFieldsOpen, setCustomFieldsOpen] = useState(false);
const [deleteConfirmOpen, setDeleteConfirmOpen] = useState(false);
const [deleteTarget, setDeleteTarget] = useState(null);
const [deleting, setDeleting] = useState(false);
@@ -219,6 +223,16 @@ export default function ContactsPage() {
+ {canEditSettings && (
+
+ )}
+ {/* Custom Fields Manager (admin+) */}
+ {canEditSettings && (
+
+ )}
+
{/* Delete Confirmation */}