fix: correct Supabase insert fields for secrets and area leads

Fix missing 'label' in secrets insert and correct area leads field names.

Co-authored-by: Moheeb Zara <[email protected]>
This commit is contained in:
v0
2026-03-11 08:05:53 +00:00
co-authored by Moheeb Zara
parent 5a377e5064
commit c34d5d9529
+13 -12
View File
@@ -25,9 +25,9 @@ interface KbEntry {
interface AreaLead { interface AreaLead {
id: string id: string
area_name: string area_name: string
member_name: string lead_handle: string
member_id?: string lead_id?: string
contact_info?: string description?: string
} }
interface Secret { interface Secret {
@@ -225,6 +225,7 @@ function AddSecretModal({
const { data, error } = await supabase.from('secrets').insert({ const { data, error } = await supabase.from('secrets').insert({
space_id: spaceId, space_id: spaceId,
title: title.trim(), title: title.trim(),
label: title.trim(),
area: area.trim() || null, area: area.trim() || null,
value: value.trim(), value: value.trim(),
}).select('id, title, area, created_at').single() }).select('id, title, area, created_at').single()
@@ -299,8 +300,8 @@ function AreaLeadModal({
}) { }) {
const isEdit = !!lead const isEdit = !!lead
const [areaName, setAreaName] = useState(lead?.area_name ?? '') const [areaName, setAreaName] = useState(lead?.area_name ?? '')
const [memberName, setMemberName] = useState(lead?.member_name ?? '') const [memberName, setMemberName] = useState(lead?.lead_handle ?? '')
const [contactInfo, setContactInfo] = useState(lead?.contact_info ?? '') const [contactInfo, setContactInfo] = useState(lead?.description ?? '')
const [saving, setSaving] = useState(false) const [saving, setSaving] = useState(false)
async function handleSave(e: React.FormEvent) { async function handleSave(e: React.FormEvent) {
@@ -312,15 +313,15 @@ function AreaLeadModal({
if (isEdit) { if (isEdit) {
result = await supabase.from('area_leads').update({ result = await supabase.from('area_leads').update({
area_name: areaName.trim(), area_name: areaName.trim(),
member_name: memberName.trim(), lead_handle: memberName.trim(),
contact_info: contactInfo.trim() || null, description: contactInfo.trim() || null,
}).eq('id', lead.id).select('*').single() }).eq('id', lead.id).select('*').single()
} else { } else {
result = await supabase.from('area_leads').insert({ result = await supabase.from('area_leads').insert({
space_id: spaceId, space_id: spaceId,
area_name: areaName.trim(), area_name: areaName.trim(),
member_name: memberName.trim(), lead_handle: memberName.trim(),
contact_info: contactInfo.trim() || null, description: contactInfo.trim() || null,
}).select('*').single() }).select('*').single()
} }
setSaving(false) setSaving(false)
@@ -717,9 +718,9 @@ export function OpsClient({ member, spaceId, kbEntries: initial, areaLeads: init
</div> </div>
<div className="flex-1 min-w-0"> <div className="flex-1 min-w-0">
<p className="font-sans text-sm font-medium text-foreground">{lead.area_name}</p> <p className="font-sans text-sm font-medium text-foreground">{lead.area_name}</p>
<p className="font-mono text-xs text-muted-foreground">{lead.member_name}</p> <p className="font-mono text-xs text-muted-foreground">{lead.lead_handle}</p>
{lead.contact_info && ( {lead.description && (
<p className="font-mono text-[10px] text-muted-foreground/60 mt-0.5">{lead.contact_info}</p> <p className="font-mono text-[10px] text-muted-foreground/60 mt-0.5">{lead.description}</p>
)} )}
</div> </div>
<div className="flex gap-1 opacity-0 group-hover:opacity-100 transition"> <div className="flex gap-1 opacity-0 group-hover:opacity-100 transition">