APPSRN-531 Agregar iconos rellenos store_filled y user_filled a janis-font-icon - #78
Open
pablonortiz wants to merge 2 commits into
Open
APPSRN-531 Agregar iconos rellenos store_filled y user_filled a janis-font-icon#78pablonortiz wants to merge 2 commits into
pablonortiz wants to merge 2 commits into
Conversation
pablonortiz
requested review from
GonzaFran,
christian97dd,
colomfernando and
pablodamianberdun
July 20, 2026 15:09
Coverage Report for CI Build 30467890191Coverage remained the same at 100.0%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
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.
Link al ticket
item_newaitem(segundo commit) no tiene ticket propio — se suma acá para no partir en dos PRs el mismoselection.json.Descripción del requerimiento
Este PR agrupa dos cambios sobre la misma fuente de iconos
janis-font-icon:1. Iconos rellenos (APPSRN-531). La vista de mapa de Route Sequencing (épica ATR-2131, historia APPSRN-530) necesita variantes rellenas de los iconos de local/recogida y cliente/entrega para diferenciar los pines en el mapa. El consumo desde las apps queda para otra tarea.
2. Rename
item_new→item. Mauricio Oruezabal reportó en #apps-devs (28/07) que en la Lista de Productos de Orders el badge del product group aparece como?en lugar del icono. Los clientes eligen ese icono desde el picker del admin de Views, cuyo catálogo (icons.json) lo nombraitem, mientras nuestra fuente lo tenía nombradoitem_new.react-native-vector-iconsresuelve el nombre contra su mapa de glifos y, si no hay match, cae al fallback hardcodeado?(glyphMap[name] || '?'encreate-icon-set.js). Al alinear el nombre con Views, el icono resuelve.Descripción de la solución
Iconos rellenos: se agregaron los glifos
store_filledyuser_filledal set de IcoMoon — nuevas entradas enselection.jsony regeneración de los dos.ttfque empaquetan la fuente (src/fonts/janis-font-icon.ttfy su copia para Android enandroid/app/src/main/assets/fonts/janis-font-icon.ttf).Rename: en
selection.json, el icono con codepoint59930pasa dename: "item_new"aname: "item". Solo cambia la propiedadname:code,id(288) yorder(1736) quedan intactos, y no había ningún icono previo llamadoitem, así que no hay colisión. Los.ttfno requieren cambio por este rename: no almacenan nombres de glifo, solo el mapeo codepoint → glifo, y el codepoint no se movió.El
Icon(src/components/atoms/Icon/index.tsx) resuelve los nombres disponibles dinámicamente desdeselection.jsonvíacreateIconSetFromIcoMoon, sin un enum ni union type que mantener — los iconos nuevos quedan usables con<Icon name="store_filled" />/<Icon name="user_filled" />y el renombrado con<Icon name="item" />, sin tocar código del componente.Balance final: 303 → 305 iconos (2 agregados, 1 renombrado, 0 eliminados). De los 303 preexistentes, ninguno cambió de
code/id/order; el único cambio denamees el de este rename.Se cruzaron los catálogos completos de iconos: Views tiene 276, este package pasa a 305. Antes del rename faltaba exactamente 1 de los de Views:
item. Con este cambio, los 276 de Views existen en la fuente — no debería quedar ningún?por configuración de cliente.Nivel de pruebas requerido
Documentación y ejemplos
Se subió de BAJO a MEDIO respecto de la versión original de este PR: el rename ya no es un cambio puramente aditivo y afecta a consumidores existentes (ver "Datos extra").
¿Cómo se puede probar?
<Icon name="store_filled" /><Icon name="user_filled" /><Icon name="item" />?<Icon name="item_new" />?— el nombre viejo dejó de existirwrong_way)Iconsde Storybookstorybook/stories/DesignStystem/Icons.stories.jsEvidencias, pruebas de cómo funciona
npm run test:coveragelocal con los dos commits aplicados: 62 suites / 333 tests / 11 snapshots OK, coverage 100%,tsc --noEmitsin errores.janis-picking-apprelease-v1(PR #1905, que tiene su propia copia de la fuente): 5/5 casos PASS en emulador Android, incluyendo el escenario del bug (badge de product group conicon: "item"renderizando el glifo en lugar de?) y la no-regresión del resto del catálogo.Link a la documentación
Datos extra a tener en cuenta
item_new. Al momento de este PR hay dos:janis-wms-app(src/screens/SkuMovements/SkuMovementsSummary/index.js) yjanis-picking-appenmaster(src/screens/Repack/components/OrderCard/index.js). Ambas están hoy enui-native@2.3.0, así que no se rompen con el merge de este PR, pero al bumpear tienen que actualizar el nombre aitemen el mismo PR del bump — si no, ese icono queda en?sin ningún error visible.janis-delivery-appno usaitem_newy sigue en la línea 1.x, no le afecta..ttfnuevo a sus assets nativos (necesario por los dos iconos agregados; el rename por sí solo no lo requiere).productGroups[].icon,packageType.icon,settingGroups[].icon), y el rename cubre las tres. Por eso se optó por renombrar en la fuente en lugar de mapearitem→item_newen la lógica de product groups: un mapper ahí habría dejado afuera los otros dos orígenes.selection.jsonde este repo es la fuente de verdad y ya tieneitem. Si un export futuro se genera importando a IcoMoon un zip viejo, el rename se pierde en silencio.ui-native: los iconos rellenos se agregan a la fuente, su consumo (pines del mapa de Route Sequencing) es de otra tarea.CHANGELOG: