Rediseño da interface con bslib (mantendo o core de R) - #2
Merged
Conversation
- Migrar a UI de shinydashboard -> bslib: page_navbar + sidebar + nav_panel + card() + value_box(); elimínanse shinydashboard/shinythemes do código - bs_theme coa identidade visual de inesortega.github.io (teal #136f6f, fondo #f7fbfb, tipografía Inter) - Consolidar o CSS en www/styles.css (substitúe ~15 tags$style dispersos) - Mapa: addProviderTiles(CartoDB.Positron) no canto de addTiles() - KPIs: value_box + renderText/box_value (mesma computación de sempre) - Gráficas: theme_minimal + paleta de categorías - Mantéñense TODOS os inputId/outputId, reactivos, observers e data_loader.R; o navbar usa id='sidebarID' para conservar input$sidebarID == 'map' Verificado: parse OK, build do obxecto ui OK, smoke test de runtime (HTTP 200, "Listening on 0.0.0.0:3838", sen erros). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- "Tipo de actualización": checkboxGroupButtons como chips con punto de cor por categoría (mesmo inputId 'legendFilter' e mesmos valores -> server igual) - Rótulos do panel como micro-rótulos (eyebrow) en maiúsculas - Logotipo (onda) na marca da cabeceira - Panel lateral en branco; slider e selects coa paleta teal Verificado: parse OK, runtime HTTP 200, chips e logo presentes, sen erros. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resumo
Rediseño visual completo da aplicación Shiny para unha estética máis moderna e limpa, mantendo intacto o core de R (lóxica do servidor, reactivos, mapa, estatísticas e
data_loader.R). A nova interface adopta a identidade visual da web do proxecto: paleta teal (#136f6f), fondo claro (#f7fbfb) e tipografía Inter.Os cambios concéntranse en dous ficheiros: o obxecto
uideapp.Re a folla de estiloswww/styles.css.Que cambia (capa de interface)
shinydashboard→bslib(Bootstrap 5):page_navbar+sidebar()+nav_panel()+card()+value_box(). Elimínanseshinydashboardeshinythemesdo código e os ~15tags$style(HTML(...))dispersos, consolidados nun únicowww/styles.css.dateRangeInput) que cabe no panel, chips de cor por tipo de actualización (atenúanse os non seleccionados) e selectores de provincia/concello.CartoDB.Positron. Os popups rediséñanse como tarxeta ao estilo do mockup (chip de estado, título, subtítulo, lista de datos e pé con ligazóns), con información distinta segundo o tipo (residuos, praia limpa, convocatoria de limpeza, outras convocatorias) e ligazóns ás imaxes.ggplot2) co tema coherente.Que se mantén intacto (core de R)
inputId/outputId→ oserverfunciona igual.data(), filtros,leafletProxy, marcadores, estatísticas e gráficas: sen cambios de lóxica.data_loader.R: sen tocar.navbarusaid = "sidebarID"para conservarinput$sidebarID == "map".Melloras e correccións incluídas
url_encode_vector: nos puntos con varias imaxes pasábaselle un vector a unha función que asume un escalar (if(!is.na(x))), provocando "the condition has length > 1". Agora codifícase cada URL por separado.validateCoordse fallos de leaflet); as filas sen coordenadas seguen contando nas estatísticas.Verificación
parse()correcto e construción do obxectoui(bslib) sen erros.linux/amd64: a app arranca e serve HTTP 200 (Listening on 0.0.0.0:3838), sen erros.praias.csv).