Necesitamos implementar una funcionalidad que nos permita compartir casos. Para esto, en la vista de creación/edición de casos, podemos agregar un botón "Compartir". Desde aquí, aparecería un diálogo con dos secciones; "Link", o "Embed". Cuando se escoge "Link", CaseVault genera un link (URL) para el caso a compartir. Dicho link permite acceder al caso, con un template de interfaz que cumple con lo siguiente:
Responsive: Tiene que ser altamente usable en móviles y en PCs.
Permitir navegación por tabs por las secciones del caso. Desplegar los tabs arriba y minimizando margen (ahorrar máx. expacio). Sólo desplegar tabs de componentes del caso en donde hay contenido para ver. Si sólo hay texto, no mostrar los tabs y únicamente mostrar el texto.
Se deben proveer controles para ajustar el texto del caso (agrandar/achicar), dado que será frecuentemente visto en móviles.
Por otro lado, la opción "Embed", presenta en un elemento tipo textarea código HTML necesario para embeber un caso en un sitio de terceros.
Es importante notar que:
Sólo pueden compartirse casos públicos o sin listar.
La opción "compartir" podría estar disponible en las entradas que aparecen en la página home de la aplicación (botón share al lado de la carátula), y en las páginas de resultados de búsqueda.
Finalmente, respecto a la implementación, cabría considerar lo siguiente:
Renderizar y servir los casos compartidos desde la aplicación Rails usando ActionView. No tendría sentido que la aplicación React cargue al embeber un caso en un iframe.
Para esto, usar el path /cases en la aplicación Rails.
Ojo con las páginas de error 403, y 404. Tendremos que desarrollar páginas personalizadas (simplificadas) para mejor experiencia del usuario.
Aquí hay algunas recomendaciones sobre cómo agregar ActionView a la aplicación Rails:
Necesitamos implementar una funcionalidad que nos permita compartir casos. Para esto, en la vista de creación/edición de casos, podemos agregar un botón "Compartir". Desde aquí, aparecería un diálogo con dos secciones; "Link", o "Embed". Cuando se escoge "Link", CaseVault genera un link (URL) para el caso a compartir. Dicho link permite acceder al caso, con un template de interfaz que cumple con lo siguiente:
Por otro lado, la opción "Embed", presenta en un elemento tipo textarea código HTML necesario para embeber un caso en un sitio de terceros.
Es importante notar que:
Finalmente, respecto a la implementación, cabría considerar lo siguiente:
Aquí hay algunas recomendaciones sobre cómo agregar ActionView a la aplicación Rails:
https://chat.openai.com/share/21a2689d-b391-4810-b1a7-bb74fa3922bd