diff --git a/.gitignore b/.gitignore index 3148277..291f341 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,9 @@ opencode/ .opencode/ docs/ +# guía técnica local +docs/GUIA-TECNICA.md + # scripts de migración (locales, no en producción) scripts/migrate-sheets-to-db.ts scripts/seed-form-config.ts diff --git a/prisma/migrations/20260815180714_add_trigram_fuzzy_indexes/migration.sql b/prisma/migrations/20260815180714_add_trigram_fuzzy_indexes/migration.sql new file mode 100644 index 0000000..9295739 --- /dev/null +++ b/prisma/migrations/20260815180714_add_trigram_fuzzy_indexes/migration.sql @@ -0,0 +1,14 @@ +-- CreateIndex +CREATE INDEX "formularios_ciudad_trgm_idx" ON "formularios" USING GIN ("ciudad" gin_trgm_ops); + +-- CreateIndex +CREATE INDEX "formularios_estado_trgm_idx" ON "formularios" USING GIN ("estado" gin_trgm_ops); + +-- CreateIndex +CREATE INDEX "formularios_profesion_trgm_idx" ON "formularios" USING GIN ("profesion" gin_trgm_ops); + +-- CreateIndex +CREATE INDEX "formularios_nivel_academico_trgm_idx" ON "formularios" USING GIN ("nivel_academico" gin_trgm_ops); + +-- CreateIndex +CREATE INDEX "formularios_nacionalidad_trgm_idx" ON "formularios" USING GIN ("nacionalidad" gin_trgm_ops); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index b028508..6358ffc 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -60,6 +60,11 @@ model Formulario { @@index([telefono(ops: raw("gin_trgm_ops"))], type: Gin, map: "formularios_telefono_trgm_idx") @@index([whatsapp(ops: raw("gin_trgm_ops"))], type: Gin, map: "formularios_whatsapp_trgm_idx") @@index([documento_nro(ops: raw("gin_trgm_ops"))], type: Gin, map: "formularios_documento_nro_trgm_idx") + @@index([ciudad(ops: raw("gin_trgm_ops"))], type: Gin, map: "formularios_ciudad_trgm_idx") + @@index([estado(ops: raw("gin_trgm_ops"))], type: Gin, map: "formularios_estado_trgm_idx") + @@index([profesion(ops: raw("gin_trgm_ops"))], type: Gin, map: "formularios_profesion_trgm_idx") + @@index([nivel_academico(ops: raw("gin_trgm_ops"))], type: Gin, map: "formularios_nivel_academico_trgm_idx") + @@index([nacionalidad(ops: raw("gin_trgm_ops"))], type: Gin, map: "formularios_nacionalidad_trgm_idx") @@map("formularios") } diff --git a/src/components/Header.astro b/src/components/Header.astro index f210430..679de8a 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -12,6 +12,7 @@ const tl = createTranslator(Astro.currentLocale); const currentLocale = Astro.currentLocale; const currentPath = Astro.url.pathname; const { locale } = Astro.params; +const isAdmin = currentPath.split("/").includes("admin"); const languages = [ { code: "es", icon: "icon_flag_es", label: "Español" }, @@ -156,6 +157,16 @@ function translatePath(newLocale: string) { )) } + {isAdmin && ( +
  • + + Acceder + +
  • + )}
    + {isAdmin && ( + + )}