from pydantic import BaseModel


class SocialLink(BaseModel):
    platform: str
    url: str


class NavLink(BaseModel):
    label: str
    href: str
    children: list["NavLink"] | None = None


class FooterColumn(BaseModel):
    title: str
    links: list[NavLink]


class SiteSettings(BaseModel):
    companyName: str
    tagline: str
    phone: str
    email: str
    address: str
    statesServed: list[str]
    social: list[SocialLink]
    primaryNav: list[NavLink]
    footerColumns: list[FooterColumn]
