From 5bb5e5092e34457424728aea8ecbbb9ddeb80601 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Fri, 17 Oct 2025 18:29:00 -0600 Subject: [PATCH] Implementar Web Share Target API para compartir fotos con la PWA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Agregar share_target al manifest de la PWA - Crear endpoint /api/share-target para recibir archivos compartidos - Guardar archivos temporalmente en /public/temp-shared - Modificar UserProfileForm para aceptar imágenes externas - Detectar automáticamente imágenes compartidas y procesarlas - Crear endpoint /api/share-target/cleanup para limpiar temporales - Mostrar toast informativo al recibir imagen compartida - Redirigir automáticamente al formulario de perfil - Soportar compartir desde galería, otras apps, etc. --- nuxt4/app/app.vue | 31 +++++++- nuxt4/app/components/UserProfileForm.vue | 61 ++++++++++++++ nuxt4/nuxt.config.ts | 16 ++++ nuxt4/server/api/share-target.post.ts | 75 ++++++++++++++++++ nuxt4/server/api/share-target/cleanup.post.ts | 68 ++++++++++++++++ pwa_assets/icons/icon-128x128.png | Bin 0 -> 22058 bytes pwa_assets/icons/icon-144x144.png | Bin 0 -> 26959 bytes pwa_assets/icons/icon-152x152.png | Bin 0 -> 29605 bytes pwa_assets/icons/icon-192x192.png | Bin 0 -> 44816 bytes pwa_assets/icons/icon-256x256.png | Bin 0 -> 77544 bytes pwa_assets/icons/icon-384x384.png | Bin 0 -> 177442 bytes pwa_assets/icons/icon-512x512.png | Bin 0 -> 330481 bytes pwa_assets/icons/icon-72x72.png | Bin 0 -> 8674 bytes pwa_assets/icons/icon-96x96.png | Bin 0 -> 13760 bytes pwa_assets/index.html | 30 +++++++ pwa_assets/manifest.json | 22 +++++ pwa_assets/sw.js | 65 +++++++++++++++ 17 files changed, 367 insertions(+), 1 deletion(-) create mode 100644 nuxt4/server/api/share-target.post.ts create mode 100644 nuxt4/server/api/share-target/cleanup.post.ts create mode 100644 pwa_assets/icons/icon-128x128.png create mode 100644 pwa_assets/icons/icon-144x144.png create mode 100644 pwa_assets/icons/icon-152x152.png create mode 100644 pwa_assets/icons/icon-192x192.png create mode 100644 pwa_assets/icons/icon-256x256.png create mode 100644 pwa_assets/icons/icon-384x384.png create mode 100644 pwa_assets/icons/icon-512x512.png create mode 100644 pwa_assets/icons/icon-72x72.png create mode 100644 pwa_assets/icons/icon-96x96.png create mode 100644 pwa_assets/index.html create mode 100644 pwa_assets/manifest.json create mode 100644 pwa_assets/sw.js diff --git a/nuxt4/app/app.vue b/nuxt4/app/app.vue index adae9c7..ec2bb62 100644 --- a/nuxt4/app/app.vue +++ b/nuxt4/app/app.vue @@ -19,7 +19,8 @@ @@ -51,10 +52,38 @@