Commit Graph

258 Commits

Author SHA1 Message Date
estifanos
bf083bff82 feat: refactor personal document management to use server-side pagination, grouping, and filtering 2026-08-28 11:17:25 +00:00
estifanos
6f9986acef feat: add support for additional audio file types to document requirements drawer 2026-08-28 10:45:45 +00:00
estifanos
bd220a8fb2 feat: add support for additional document formats and video file types to DocumentRequirementEditorDrawer 2026-08-28 10:38:24 +00:00
estifanos
71ed409ef2 feat: expand supported document MIME types and add a helper description to the requirement editor 2026-08-28 10:36:34 +00:00
estifanos
1c1347faeb refactor: extract event values before updating state in editor drawers to prevent null reference errors 2026-08-28 10:04:23 +00:00
estifanos
19ef4215e0 feat: add scope filtering for personal documents in configuration and API 2026-08-28 09:56:04 +00:00
estifanos
3d5c6531c3 feat: move personal documents configuration to a dedicated tab in the global configuration page 2026-08-28 09:42:38 +00:00
estifanos
f255621672 feat: add support for global personal document requirements in applicant vaults 2026-08-28 08:54:10 +00:00
estifanos
51627f9918 feat: add inspection rescheduling workflow and unlock dependencies for flagged document sections 2026-08-28 06:46:06 +00:00
estifanos
88a1caa52b feat: add sorting support to seafarer registration query and default queue to newest first 2026-08-27 12:30:48 +00:00
Estifo77
82ddffd861 Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-27 13:08:05 +03:00
nati14575
14508635c5 refactor(actions): update action eligibility conditions and remove unused actions
refactor(i18n): remove 'assignReviewer' translation key from Amharic and English locales
refactor(nav-config): clean up navigation configuration by removing redundant items
refactor(licensing-api): remove assignReviewer mutation from licensing API
feat(package): add build script for parallel building of portal and backoffice
2026-08-27 12:07:08 +03:00
Nati Nigussie
b163aa4d3c Merge branch 'WorkflowChange' into logestic_chnage 2026-08-27 11:23:14 +03:00
nati14575
5e8fa6013f Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into WorkflowChange 2026-08-27 11:19:19 +03:00
nati14575
04c68e74c7 Update API URL fallback in UserManagementPage to ensure local development compatibility 2026-08-27 11:19:09 +03:00
estifanos
3d7bd99b4b style: update component background and icon colors to use semantic theme variables 2026-08-27 08:16:20 +00:00
fitse-yotor
12e7927d01 feat(certificate-designer): add custom page size options and update related components 2026-08-27 10:53:11 +03:00
estifanos
def6218dbf fix: show inspection-failed alert at page level, not inside the inspection tab
A license type configured without an inspection detail section (e.g. vessel
ownership transfer) would hide the "approval blocked" explanation entirely if
it ever reached INSPECTION_FAILED. The alert now renders beside the other
page-level status notices, so the reason is visible regardless of which detail
sections the type declares.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 07:50:43 +00:00
estifanos
f01c0ec31e feat: add INSPECTION_FAILED state, enforce inspection scheduling locks, and improve adjustment round UI for section locking and remark labeling 2026-08-27 07:36:07 +00:00
Nati
580ceaa139 Remove 'assign-reviewer' action and related functionality from license review process 2026-08-26 14:08:09 +00:00
Nati
2a16ca8584 Merge branch 'WorkflowChange' of github.com:Tria-plc/emaui into WorkflowChange 2026-08-26 13:34:24 +00:00
Nati
b5f1ffa6b8 Add 'assign-reviewer' action and related functionality for license review process 2026-08-26 13:34:06 +00:00
estifanos
f20ed670de fixes on backoffice for endorcement 2026-08-26 12:12:30 +00:00
estifanos
3cab22b58d fix: update conditional requirement validation to allow expressions using anyOf without a field 2026-08-26 09:44:37 +00:00
estifanos
13c3e8974d feat: consolidate CoC and GOC endorsement workflows into a new ENDORSEMENT_SEAFARER type and add anyOf support to conditional form field logic. 2026-08-26 09:44:08 +00:00
Estifo77
a86f4750bc Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-26 08:43:31 +03:00
Nati
bd65fc0eab Enhance certificate designer and seafarer registration features with image support and dynamic department/rank options 2026-08-24 14:15:55 +00:00
Nati
4a3ad7c2e6 Merge branch 'WorkflowChange' of github.com:Tria-plc/emaui into WorkflowChange 2026-08-24 12:37:42 +00:00
Nati
294a8ded6c Refactor exam form handling to support mixed paper types and update related interfaces 2026-08-24 12:37:06 +00:00
nati14575
ff47c7b0aa Add support for "BOTH" exam form type and update translations 2026-08-24 12:13:18 +03:00
Nati
895690de80 Fix for rank selection 2026-08-24 08:20:13 +00:00
Nati
a84177cf12 Fix 2026-08-24 07:49:10 +00:00
Nati
302c0242dd Add rank selection and condition handling to certificate designer and requirements 2026-08-24 07:39:24 +00:00
Nati
f973bff641 Add Rank and Department management to ConfigurationPage with new RankDepartmentTab 2026-08-24 06:13:43 +00:00
Fistum
0ac969cca2 logestics chnage 2026-08-22 07:54:35 +00:00
estifanos
841579468a feat: add claim application functionality to the license review page 2026-08-22 06:11:44 +00:00
Nati
e82714ba1f Enhance exam selection by displaying certification rank in options and remove admission number input from scheduling modal 2026-08-22 06:11:02 +00:00
Estifo77
b652136bac Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-22 09:00:45 +03:00
estifanos
b458bae35c refactor: introduce hasUnclaimedPool helper to allow claim workflows for specific document-family queues 2026-08-22 05:53:40 +00:00
Nati
c3977897b7 Add rankKey support to certification forms and exams
- Introduced rankKey field in Certification interface and payloads.
- Updated CertificationForm to handle rankKey input.
- Enhanced ScheduleExamModal to filter exams based on rank.
- Added getEligibleExams API query to fetch exams relevant to the application's rank.
- Updated related components and types to accommodate new rankKey functionality.
2026-08-21 19:10:01 +00:00
Nati
21ffca9094 Merge branch 'WorkflowChange' of github.com:Tria-plc/emaui into WorkflowChange 2026-08-21 18:20:02 +00:00
Nati
9f4954b5e8 UI 2026-08-21 18:17:52 +00:00
nati14575
53b8993c72 Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into feature/exam-attempt-domain 2026-08-21 21:04:34 +03:00
Nati
56cb22c7bd Merge branch 'ui_ux' of github.com:Tria-plc/emaui into WorkflowChange 2026-08-21 17:36:09 +00:00
Fistum
81d3ebdcd9 feat(dashboard): enhance dashboard with stat tiles for better data visualization 2026-08-21 13:33:07 +00:00
Fistum
62492e957b backoffice 2026-08-21 13:09:40 +00:00
Fistum
6b5b99f42d ui chnages 2026-08-21 11:16:22 +00:00
fitse-yotor
8f6ebdafb1 feat(a11y): add skip link for improved navigation accessibility 2026-08-21 12:34:00 +03:00
fitse-yotor
659e954306 refactor(theme): share one base theme between backoffice and portal
The two apps had drifted into unrelated themes. The portal's carried a full
type scale, radius scale, shadow ramp and component defaults; the backoffice's
had none of them — 55 lines defining two colour ramps and little else. With
nothing to inherit, its 23 features each invented their own sizing, which is
the real source of the inconsistency the UI reads with.

Promote the portal's structure to `libs/shared` as `baseTheme`, and reduce both
themes to what they should differ on: brand. The backoffice keeps #1e40af and
the portal keeps Coastal Modern — a distinct accent tells an officer which of
the two systems they are in, and the ramps are not interchangeable in contrast.

Both export names are preserved, so no consumer import changes.

Two properties are deliberately held back rather than shared:
- `colors.gray`: the portal's blue-tinted neutrals retint every dimmed label,
  neutral badge and table border. The backoffice adopts them as its own
  reviewed change, not as a side effect of sharing a base.
- `primaryShade.dark`: moves every filled control in dark mode; waits until
  dark mode is verified end to end.

Also fixes a live bug: PageLoader coloured its primary label `navy.9`, which is
defined in neither theme. Mantine drops unresolved colour keys silently, so the
label in a component used by 20 files had been rendering an inherited colour.

Adds a visual-regression harness to make all of this reviewable. It runs
against a static gallery route rather than real pages, so it needs no API,
database or auth — a theme diff cannot be masked by a migration or an expired
token. The portal is the control group: it is pixel-identical across all four
light/dark × desktop/tablet baselines, which is what makes the refactor
provably lossless.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 11:25:26 +03:00
estifanos
d4a5ba7673 UI fixes 2026-08-21 07:38:01 +00:00