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[];
};
URL-friendly identifier (e.g., “infraestructura-servicios”)
Program number (1, 2, 3, 4…)
Program title (e.g., “Infraestructura y Servicios Básicos”)
Program tagline (e.g., “Gobierno que camina”)
Cover image path (e.g., “/assets/ejes/eje1.jpg”)
Brand color in hex format (e.g., “#0ea5e9”)
Main introductory paragraph
Key bullet points highlighting the program
Key performance indicators or statistics
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[];
};
URL path (e.g., “esterilizacion-canina” for /cta/esterilizacion-canina)
logos
Array<{ src: string; alt: string }>
Government logos displayed in header
Small text above title (e.g., “AVISO”, “RECORDATORIO”)
Highlighted text (often displayed larger or in accent color)
Secondary title or location
Badge/pill text (e.g., “17 de Marzo · 9 am a 5 pm”)
Key information bullets for quick reference
Footer note (e.g., “Cupo limitado”)
Primary button link (if empty, defaults to /cta/:slug)
Secondary button text (links to detail page)
Full description for detail page
Content sections with requirements, instructions, etc.
Contact information (phone, WhatsApp, notes)
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"
]
}
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;
};
URL-friendly identifier for the department
Building location (e.g., “Edificio A”, “Edificio B”)
personal
PersonalDirectorio[]
required
Array of staff members in this department
PersonalDirectorio Fields
Full name of the staff member
Phone number (null if not available)
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
}