Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Jesus-Puertos/h-ayuntamiento/llms.txt

Use this file to discover all available pages before exploring further.

Overview

This page documents all government-related TypeScript types used in the Zongolica application, including government programs (Ejes), call-to-action announcements, and the municipal directory.

Eje (Government Program)

Represents a government program or initiative axis.
type Eje = {
  slug: string;
  number: number;
  title?: string;
  subtitle?: string;
  coverImage?: string;
  color?: string;
  intro: string;
  highlights?: string[];
  stats?: EjeStats[];
  acciones?: EjeAccion[];
  bloques?: EjeBloque[];
};
slug
string
required
URL-friendly identifier (e.g., “infraestructura-servicios”)
number
number
required
Program number (1, 2, 3, 4…)
title
string
Program title (e.g., “Infraestructura y Servicios Básicos”)
subtitle
string
Program tagline (e.g., “Gobierno que camina”)
coverImage
string
Cover image path (e.g., “/assets/ejes/eje1.jpg”)
color
string
Brand color in hex format (e.g., “#0ea5e9”)
intro
string
required
Main introductory paragraph
highlights
string[]
Key bullet points highlighting the program
stats
EjeStats[]
Key performance indicators or statistics
acciones
EjeAccion[]
Featured action cards
bloques
EjeBloque[]
Action lines or requirement blocks

Supporting Types

EjeStats

Key statistics for a government program.
type EjeStats = {
  label: string;
  value: string;
};

EjeAccion

Featured action within a government program.
type EjeAccion = {
  title: string;
  desc: string;
};

EjeBloque

Thematic block of related items.
type EjeBloque = {
  title: string;
  items: string[];
};

Example

{
  "slug": "infraestructura-servicios",
  "number": 1,
  "title": "Infraestructura y Servicios Básicos",
  "subtitle": "Caminos, agua y servicios que sí lleguen",
  "coverImage": "/assets/ejes/eje1.jpg",
  "color": "#0ea5e9",
  "intro": "La demanda más sentida en diversas localidades es la rehabilitación de caminos...",
  "highlights": [
    "Rehabilitación de caminos principales con coordinación comunitaria",
    "Atención a escasez de agua con soluciones por zonas",
    "Clínicas rurales: gestión de médicos y medicamentos"
  ],
  "stats": [
    { "label": "Comunidades prioritarias", "value": "15+" },
    { "label": "Temas urgentes", "value": "Caminos · Agua · Salud" }
  ],
  "acciones": [
    {
      "title": "Rehabilitación de camino principal",
      "desc": "Plan por tramos con faenas, material y gestión ante instancias estatales/federales."
    }
  ]
}

CTA (Call to Action)

Represents a government announcement, campaign, or call-to-action.
type CTA = {
  slug: string;
  logos?: Array<{ src: string; alt: string }>;
  eyebrow?: string;
  title: string;
  highlight?: string;
  subtitle?: string;
  pillText?: string;
  bullets?: CTABullet[];
  footnote?: string;
  ctaText?: string;
  ctaHref?: string;
  secondaryCtaText?: string;
  imageSrc?: string;
  imageAlt?: string;
  description?: string;
  sections?: CTASection[];
  contact?: CTAContact;
  downloads?: CTADownload[];
};
slug
string
required
URL path (e.g., “esterilizacion-canina” for /cta/esterilizacion-canina)
logos
Array<{ src: string; alt: string }>
Government logos displayed in header
eyebrow
string
Small text above title (e.g., “AVISO”, “RECORDATORIO”)
title
string
required
Main announcement title
highlight
string
Highlighted text (often displayed larger or in accent color)
subtitle
string
Secondary title or location
pillText
string
Badge/pill text (e.g., “17 de Marzo · 9 am a 5 pm”)
bullets
CTABullet[]
Key information bullets for quick reference
footnote
string
Footer note (e.g., “Cupo limitado”)
ctaText
string
Primary button text
ctaHref
string
Primary button link (if empty, defaults to /cta/:slug)
secondaryCtaText
string
Secondary button text (links to detail page)
imageSrc
string
Banner image path
imageAlt
string
Image alt text
description
string
Full description for detail page
sections
CTASection[]
Content sections with requirements, instructions, etc.
contact
CTAContact
Contact information (phone, WhatsApp, notes)
downloads
CTADownload[]
Downloadable files (PDFs, forms, etc.)

Supporting Types

CTABullet

Formatted bullet point with emphasis.
type CTABullet = {
  strong: string;
  text: string;
};
Example:
{ "strong": "Gatos", "text": "$250.00" }

CTASection

Content section with title and list items.
type CTASection = {
  title: string;
  items: string[];
};
Example:
{
  "title": "Requisitos para trámite",
  "items": [
    "Copia de INE",
    "Copia de CURP",
    "5 fotografías tamaño infantil"
  ]
}

CTAContact

Contact information for inquiries.
type CTAContact = {
  phone?: string;
  whatsapp?: string;
  note?: string;
};

CTADownload

Downloadable file configuration.
type CTADownload = {
  text: string;
  href: string;
  filename?: string;
  external?: boolean;
};

Example

{
  "slug": "esterilizacion-canina",
  "eyebrow": "AVISO",
  "title": "JORNADAS DE ESTERILIZACIÓN CANINA",
  "highlight": "120 LUGARES DISPONIBLES",
  "subtitle": "POLIDEPORTIVO SIERA",
  "pillText": "17 de Marzo · 9 am a 5 pm",
  "bullets": [
    { "strong": "Gatos", "text": "$250.00" },
    { "strong": "Perro criollo", "text": "$300.00" },
    { "strong": "Perro de raza", "text": "Varia según tamaño" }
  ],
  "footnote": "Cupo limitado, aparta tu lugar con anticipación",
  "ctaText": "APARTA TU LUGAR",
  "ctaHref": "",
  "secondaryCtaText": "VER AVISO COMPLETO",
  "imageSrc": "/assets/avatar/animals/gato.webp",
  "downloads": [
    {
      "text": "Descargar convocatoria",
      "href": "https://docs.zongolica.gob.mx/convocatorias/esterilizacion.pdf",
      "external": true
    }
  ],
  "logos": [
    { "src": "/assets/logos/logo-ayuntamiento.png", "alt": "H. Ayuntamiento" },
    { "src": "/assets/logos/logo-zongolica.png", "alt": "Zongolica" }
  ]
}

Directorio (Municipal Directory)

Municipal government directory stored in /src/data/directorio.json.
type Directorio = {
  slug: string;
  edificio: string;
  area: string;
  personal: PersonalDirectorio[];
};

type PersonalDirectorio = {
  nombre: string;
  puesto: string;
  telefono: string | null;
  correo: string | null;
};
slug
string
required
URL-friendly identifier for the department
edificio
string
required
Building location (e.g., “Edificio A”, “Edificio B”)
area
string
required
Department or area name
personal
PersonalDirectorio[]
required
Array of staff members in this department

PersonalDirectorio Fields

nombre
string
required
Full name of the staff member
puesto
string
required
Job title or position
telefono
string | null
Phone number (null if not available)
correo
string | null
Email address (null if not available)

Example

{
  "slug": "instituto-municipal-de-la-mujer",
  "edificio": "Edificio A",
  "area": "Instituto Municipal De La Mujer",
  "personal": [
    {
      "nombre": "Lic. Damaris Maricruz Zavaleta Garcia",
      "puesto": "Coordinadora",
      "telefono": null,
      "correo": null
    },
    {
      "nombre": "Dulce Olivia Hérnández Cano",
      "puesto": "Auxiliar",
      "telefono": null,
      "correo": null
    }
  ]
}

Usage Examples

Importing Government Types

import { ejes, type Eje } from '@/data/ejes';
import { callToActions, type CTA } from '@/data/callToActions';
import directorio from '@/data/directorio.json';

// Use the data
const primerEje = ejes[0];
const ctaActual = callToActions.find(cta => cta.slug === 'predial');
const departamentos = directorio;

Filtering CTAs

const avisos = callToActions.filter(cta => cta.eyebrow === 'AVISO');
const recordatorios = callToActions.filter(cta => cta.eyebrow === 'RECORDATORIO');

Accessing Eje Data

const eje = ejes.find(e => e.slug === 'desarrollo-agropecuario');

if (eje) {
  console.log(eje.title); // "Desarrollo Agropecuario y Rural"
  console.log(eje.highlights); // Array of highlight bullets
  console.log(eje.stats); // KPIs
}

Build docs developers (and LLMs) love