mirror of
https://github.com/ever-co/ever-gauzy.git
synced 2026-10-02 01:54:50 +08:00
* feat(i18n): add strings for the add-employee dialog and form sections * feat(user-forms): upload the profile photo through the shared avatar uploader * feat(user-forms): group basic info fields into profile, account and employment sections * feat(employees): track queued employees and the current entry in the add dialog * feat(employees): redesign the add-employee dialog with labelled steps, review list and fixed footer * style(employees): style the add-employee dialog header, steps, list and footer * feat(tags): draw the picker checkbox and show selected tags as tinted labels * style(tags): compact rows for the tag picker dropdown panel * fix(employees): vertically centre the Show Deleted toggle in the header * fix(employees): give Status and Screen Capture columns room from Name and Email * fix(employees): address review feedback on the add-employee dialog - mark template-only members protected - translate the step bar's aria-label - clear loading in a finally block so a failed create can be retried - fit the step bar on narrow dialogs by naming only the current step * fix(employees): resolve SonarCloud reliability issues in touched files - mark fire-and-forget promises with void (typescript:S9383) - drop async from delete(), which awaits nothing (typescript:S7503) * fix(user-forms): hide SUPER_ADMIN from the role picker once the permission check resolves excludeRoles() resolves after the role field may already have rendered its options, and it mutated the excludes array in place, so the field kept offering SUPER_ADMIN to users without that role. - basic info form: assign a new excludes array instead of pushing - role field: cache the fetched roles and re-filter them whenever excludes changes, clearing a selection that is no longer allowed * fix(user-forms): keep a preselected role until the role list has loaded applyExcludes() also runs from the excludes setter, which can fire before getAll() returns. With no roles loaded every preselected role looked disallowed and was cleared. Only check the selection once the roles have loaded; renderRoles() re-runs the check at that point.