twenty/packages/twenty-ui
Charles Bochet 96fc98e710
Fix Apps UI: replace 'Managed' label with actual app name and unify app icons (#19897)
## Summary

- The Data Model table was labeling core Twenty objects (e.g. Person,
Company) as **Managed** even though they are part of the standard
application. This PR teaches the frontend to resolve an `applicationId`
back to its real application name (`Standard`, `Custom`, or any
installed app), and removes the misleading **Managed** label entirely.
- Introduces a single, consistent way to render an "app badge" across
the settings UI:
- new `Avatar` variant `type="app"` (rounded 4px corners + 1px
deterministic border derived from `placeholderColorSeed`)
- new `AppChip` component (icon + name) backed by a new
`useApplicationChipData` hook
- new `useApplicationsByIdMap` hook + `CurrentApplicationContext` so the
chip can render **This app** when shown inside the matching app's detail
page
- Reuses these primitives on:
- the application detail page header (`SettingsApplicationDetailTitle`)
  - the Installed / My apps tables (`SettingsApplicationTableRow`)
  - the NPM packages list (`SettingsApplicationsDeveloperTab`)
- Backend: exposes a minimal `installedApplications { id name
universalIdentifier }` field on `Workspace` (resolved from the workspace
cache, soft-deleted entries filtered out) so the frontend can resolve
`applicationId` -> name without N+1 fetches.
- Cleanup: deletes `getItemTagInfo` and inlines its tiny
responsibilities into the components that need them, matching the
`RecordChip` pattern.
2026-04-21 00:44:14 +02:00
..
.storybook Optimize merge queue to only run E2E and integrate prettier into lint (#18459) 2026-03-06 13:20:57 +01:00
__mocks__ Fix storybook build cache and logs (#14130) 2025-08-28 14:46:43 +02:00
dist Add default viewField when creating object (#18441) 2026-03-06 14:59:31 +01:00
scripts Optimize merge queue to only run E2E and integrate prettier into lint (#18459) 2026-03-06 13:20:57 +01:00
src Fix Apps UI: replace 'Managed' label with actual app name and unify app icons (#19897) 2026-04-21 00:44:14 +02:00
.oxlintrc.json Optimize merge queue to only run E2E and integrate prettier into lint (#18459) 2026-03-06 13:20:57 +01:00
.prettierignore Optimize merge queue to only run E2E and integrate prettier into lint (#18459) 2026-03-06 13:20:57 +01:00
jest.config.mjs Fix storybook build cache and logs (#14130) 2025-08-28 14:46:43 +02:00
package.json [DevXP] Simplify twenty-ui theme system: replace auto-generated files with static CSS variables (#18389) 2026-03-04 23:30:25 +01:00
project.json Optimize merge queue to only run E2E and integrate prettier into lint (#18459) 2026-03-06 13:20:57 +01:00
README.md fix: attempt to fix Dockerfile front build (#5020) 2024-04-18 11:24:39 +02:00
setupTests.ts chore: include react components in twenty-ui test config (#4709) 2024-04-04 12:30:49 +02:00
tsconfig.json fix(twenty-front): fix tsconfig to properly typecheck all files with tsgo (#17380) 2026-01-23 11:22:23 +01:00
tsconfig.lib.json fix(twenty-front): fix tsconfig to properly typecheck all files with tsgo (#17380) 2026-01-23 11:22:23 +01:00
vite.config.individual.ts Refactor chip component hierarchy: AvatarChip → AvatarOrIcon (#18313) 2026-03-02 15:48:49 +01:00
vite.config.ts Optimize merge queue to only run E2E and integrate prettier into lint (#18459) 2026-03-06 13:20:57 +01:00
vitest.config.ts Replace test-runner with vitest for storybook (#17187) 2026-01-18 03:25:45 +00:00

Twenty UI

This library was generated with Nx.

Building

Run npx nx build twenty-ui to build the library.

Storybook Server

Run npx nx start twenty-ui to start the storybook development server on localhost:6006.

Running unit tests

Run npx nx test twenty-ui to execute the unit tests via Jest.