diff --git a/app/companies/page.tsx b/app/companies/page.tsx index a22b0271..b6d54736 100644 --- a/app/companies/page.tsx +++ b/app/companies/page.tsx @@ -232,7 +232,7 @@ export default function CompaniesPage() { {industries.map((industry) => ( - {industry} + {industry === 'All' ? 'All' : industry.charAt(0).toUpperCase() + industry.slice(1)} ))} diff --git a/app/dashboard/company/[slug]/settings/page.tsx b/app/dashboard/company/[slug]/settings/page.tsx index 92d0e7ec..e2f3c022 100644 --- a/app/dashboard/company/[slug]/settings/page.tsx +++ b/app/dashboard/company/[slug]/settings/page.tsx @@ -49,17 +49,17 @@ export default function CompanySettingsPage() { email: currentCompany?.email || '', phone: currentCompany?.phone || '', address: { - street: currentCompany?.address?.street || '', - city: currentCompany?.address?.city || '', - state: currentCompany?.address?.state || '', - country: currentCompany?.address?.country || '', - zip: currentCompany?.address?.zip || '', + street: currentCompany?.address_street || '', + city: currentCompany?.address_city || '', + state: currentCompany?.address_state || '', + country: currentCompany?.address_country || '', + zip: currentCompany?.address_zip || '', }, socials: { - linkedin: currentCompany?.socials?.linkedin || '', - twitter: currentCompany?.socials?.twitter || '', - facebook: currentCompany?.socials?.facebook || '', - instagram: currentCompany?.socials?.instagram || '', + linkedin: currentCompany?.linkedin_url || '', + twitter: currentCompany?.twitter_url || '', + facebook: currentCompany?.facebook_url || '', + instagram: currentCompany?.instagram_url || '', }, }) @@ -85,17 +85,17 @@ export default function CompanySettingsPage() { email: currentCompany.email || '', phone: currentCompany.phone || '', address: { - street: currentCompany.address?.street || '', - city: currentCompany.address?.city || '', - state: currentCompany.address?.state || '', - country: currentCompany.address?.country || '', - zip: currentCompany.address?.zip || '', + street: currentCompany.address_street || '', + city: currentCompany.address_city || '', + state: currentCompany.address_state || '', + country: currentCompany.address_country || '', + zip: currentCompany.address_zip || '', }, socials: { - linkedin: currentCompany.socials?.linkedin || '', - twitter: currentCompany.socials?.twitter || '', - facebook: currentCompany.socials?.facebook || '', - instagram: currentCompany.socials?.instagram || '', + linkedin: currentCompany.linkedin_url || '', + twitter: currentCompany.twitter_url || '', + facebook: currentCompany.facebook_url || '', + instagram: currentCompany.instagram_url || '', }, }) } @@ -197,12 +197,35 @@ export default function CompanySettingsPage() { setLoading(true) try { + // Flatten address and socials objects to match database schema + const updateData = { + name: formData.name, + legal_name: formData.legal_name, + description: formData.description, + website: formData.website, + industry: formData.industry, + company_size: formData.company_size, + email: formData.email, + phone: formData.phone, + // Flatten address fields + address_street: formData.address.street, + address_city: formData.address.city, + address_state: formData.address.state, + address_country: formData.address.country, + address_zip: formData.address.zip, + // Flatten social fields + linkedin_url: formData.socials.linkedin, + twitter_url: formData.socials.twitter, + facebook_url: formData.socials.facebook, + instagram_url: formData.socials.instagram, + } + const response = await fetch(`/api/companies/${currentCompany.slug}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', }, - body: JSON.stringify(formData), + body: JSON.stringify(updateData), }) if (!response.ok) { diff --git a/components/companies/CompanyCard.tsx b/components/companies/CompanyCard.tsx index 001b1704..b187a645 100644 --- a/components/companies/CompanyCard.tsx +++ b/components/companies/CompanyCard.tsx @@ -41,7 +41,7 @@ export function CompanyCard({ {company.industry && ( - {company.industry} + {company.industry.charAt(0).toUpperCase() + company.industry.slice(1)} )} @@ -63,7 +63,7 @@ export function CompanyCard({ {company.company_size && ( - {company.company_size} + {company.company_size.charAt(0).toUpperCase() + company.company_size.slice(1)} )} {company.address?.city && ( diff --git a/components/companies/CompanyProfile.tsx b/components/companies/CompanyProfile.tsx index 2f534f76..f867fc91 100644 --- a/components/companies/CompanyProfile.tsx +++ b/components/companies/CompanyProfile.tsx @@ -66,19 +66,19 @@ export function CompanyProfile({ company, isOwner = false, className }: CompanyP {company.industry && ( - {company.industry} + {company.industry.charAt(0).toUpperCase() + company.industry.slice(1)} )} {company.company_size && ( - {company.company_size} + {company.company_size.charAt(0).toUpperCase() + company.company_size.slice(1)} )} {company.subscription_tier !== 'free' && ( - {company.subscription_tier} + {company.subscription_tier.charAt(0).toUpperCase() + company.subscription_tier.slice(1)} )} diff --git a/types/company.ts b/types/company.ts index d84d9847..b28b4210 100644 --- a/types/company.ts +++ b/types/company.ts @@ -11,8 +11,21 @@ export interface Company { company_size?: 'startup' | 'small' | 'medium' | 'large' | 'enterprise' email: string phone?: string + // Nested address object (for backward compatibility) address?: CompanyAddress + // Flattened address fields (actual database columns) + address_street?: string + address_city?: string + address_state?: string + address_country?: string + address_zip?: string + // Nested socials object (for backward compatibility) socials?: CompanySocials + // Flattened social fields (actual database columns) + linkedin_url?: string + twitter_url?: string + facebook_url?: string + instagram_url?: string verification_status: 'pending' | 'verified' | 'rejected' verification_documents?: string[] verified_at?: string