{"id":49807151,"url":"https://github.com/juampacamarda/contact-float-widget","last_synced_at":"2026-05-12T23:02:39.533Z","repository":{"id":324601774,"uuid":"1097782902","full_name":"juampacamarda/contact-float-widget","owner":"juampacamarda","description":"Widget flotante de contacto para WordPress con WhatsApp, Email y Links personalizados","archived":false,"fork":false,"pushed_at":"2026-02-13T19:47:37.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-14T02:55:07.256Z","etag":null,"topics":["wordpress","wordpress-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juampacamarda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-16T20:15:41.000Z","updated_at":"2026-02-13T19:47:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/juampacamarda/contact-float-widget","commit_stats":null,"previous_names":["juampacamarda/contact-float-widget"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/juampacamarda/contact-float-widget","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juampacamarda%2Fcontact-float-widget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juampacamarda%2Fcontact-float-widget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juampacamarda%2Fcontact-float-widget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juampacamarda%2Fcontact-float-widget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juampacamarda","download_url":"https://codeload.github.com/juampacamarda/contact-float-widget/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juampacamarda%2Fcontact-float-widget/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32960295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["wordpress","wordpress-plugin"],"created_at":"2026-05-12T23:02:38.237Z","updated_at":"2026-05-12T23:02:39.524Z","avatar_url":"https://github.com/juampacamarda.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Contact Float Widget\n\nPlugin de WordPress para crear un widget flotante de contacto totalmente configurable con soporte para WhatsApp, Email y enlaces personalizados.\n\n## Características\n\n- ✅ **Widget flotante** totalmente responsive\n- ✅ **Shortcode**: `[contact_float_widget]`\n- ✅ **Sin dependencias**: No usa Bootstrap ni jQuery (solo JavaScript vanilla)\n- ✅ **Totalmente configurable** desde el panel de administración\n- ✅ **Múltiples secciones** con items ilimitados\n- ✅ **Soporte para**:\n  - WhatsApp (con mensaje prellenado)\n  - Email\n  - Enlaces personalizados\n- ✅ **Iconos personalizables** (imagen o SVG por defecto)\n- ✅ **Importar/Exportar** configuración en JSON\n- ✅ **Accesibilidad**: Soporta navegación por teclado y lectores de pantalla\n- ✅ **Seguridad**: Todos los datos son sanitizados y validados\n\n## Instalación\n\n1. Subir la carpeta `contact-float-widget` al directorio `/wp-content/plugins/`\n2. Activar el plugin desde el menú 'Plugins' en WordPress\n3. Ir a 'Ajustes \u003e Contact Float Widget' para configurar\n\n## Uso\n\n### Visualización automática (Por defecto)\n\nPor defecto, el widget se muestra **automáticamente en todo el sitio**. No necesitas hacer nada más que configurarlo en los ajustes.\n\nSi prefieres controlarlo manualmente, puedes desactivar la opción \"Mostrar automáticamente\" en los ajustes y usar el shortcode.\n\n### Shortcode (Opcional)\n\nSi desactivas la visualización automática, puedes insertar el shortcode en páginas específicas:\n\n```\n[contact_float_widget]\n```\n\n### Configuración\n\nAcceder a **Ajustes \u003e Contact Float Widget** para configurar:\n\n#### Opciones generales:\n- **Color principal**: Color del botón y títulos\n- **Lado**: Derecha o Izquierda\n- **Offset top**: Distancia desde la parte superior (px)\n- **Mostrar abierto**: Si se muestra abierto al cargar la página\n- **Mostrar automáticamente**: Si se muestra en todo el sitio (activado por defecto)\n\n#### Secciones e Items:\n- Crear secciones para organizar contactos\n- Agregar items dentro de cada sección:\n  - **WhatsApp**: Número en formato E.164 y mensaje prellenado\n  - **Email**: Dirección de correo\n  - **Link**: URL personalizada\n- Opción de agregar icono personalizado para cada item\n\n#### Importar/Exportar:\n- Exportar configuración como JSON\n- Importar configuración desde archivo JSON\n\n## Estructura de archivos\n\n```\ncontact-float-widget/\n├── contact-float-widget.php    # Archivo principal del plugin\n├── uninstall.php               # Script de desinstalación\n├── README.md                   # Documentación\n├── includes/\n│   ├── admin.php               # Página de administración\n│   ├── assets.php              # Gestión de CSS y JS\n│   └── renderer.php            # Renderizado del widget\n├── assets/\n│   ├── css/\n│   │   ├── widget.css          # Estilos del frontend\n│   │   └── admin.css           # Estilos del admin\n│   └── js/\n│       ├── widget.js           # JavaScript del frontend\n│       └── admin.js            # JavaScript del admin\n└── languages/\n    └── contact-float-widget.pot # Archivo de traducción\n```\n\n## Clases CSS (BEM)\n\nEl widget utiliza la metodología BEM para las clases CSS:\n\n- `.cfw-widget` - Contenedor principal\n- `.cfw-widget--right` / `.cfw-widget--left` - Modificadores de posición\n- `.cfw-toggle` - Botón de apertura/cierre\n- `.cfw-panel` - Panel desplegable\n- `.cfw-section` - Sección de contactos\n- `.cfw-item` - Item individual de contacto\n- `.cfw-item__media` - Contenedor del icono\n- `.cfw-item__text` - Contenedor del texto\n\n## Funciones JavaScript\n\n### Frontend (widget.js)\n- `initWidget()` - Inicializa el widget\n- `togglePanel()` - Alterna entre abierto/cerrado\n- `closePanel()` - Cierra el panel\n- Soporte para tecla Escape\n- Cierre al hacer clic fuera\n\n### Admin (admin.js)\n- Agregar/eliminar secciones\n- Agregar/eliminar items\n- Selector de medios para iconos\n- Validación del formulario\n- Drag \u0026 drop para reordenar (opcional)\n\n## Seguridad\n\n- ✅ Todos los inputs son sanitizados con funciones de WordPress\n- ✅ Outputs escapados con `esc_html()`, `esc_attr()`, `esc_url()`\n- ✅ Nonces para todas las acciones del formulario\n- ✅ Verificación de permisos `manage_options`\n- ✅ Validación de tipos de archivos en importación\n\n## Compatibilidad\n\n- WordPress 5.0 o superior\n- PHP 7.0 o superior\n- Todos los navegadores modernos\n- Responsive design\n\n## Personalización\n\n### CSS Personalizado\n\nEl widget usa variables CSS que pueden ser sobrescritas:\n\n```css\n.cfw-widget {\n    --primary: #25d366; /* Color principal */\n}\n```\n\n### Modificar traducciones\n\nEditar el archivo `.pot` en la carpeta `languages/` o usar plugins como Loco Translate.\n\n## Changelog\n\n### 1.0.0\n- Lanzamiento inicial\n- Soporte para WhatsApp, Email y Links\n- Sistema de secciones e items\n- Importar/Exportar configuración\n- JavaScript vanilla (sin jQuery en frontend)\n- Diseño responsive\n\n## Autor\n\nJuampa Camarda\n\n## Licencia\n\nGPL v2 or later\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuampacamarda%2Fcontact-float-widget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuampacamarda%2Fcontact-float-widget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuampacamarda%2Fcontact-float-widget/lists"}