Commit Graph

24 Commits

Author SHA1 Message Date
Estifo77
dae24f48db Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-31 09:19:35 +03:00
Nati
890aca44f4 feat(signature): add signature functionality for officers and seafarers
- Implemented MySignaturePad component for officers to draw and upload their signatures.
- Added signature API endpoints for managing officer signatures in the backoffice.
- Created SignaturePad component for seafarers to manage their specimen signatures.
- Updated ProfilePage to include signature tabs for both officers and seafarers.
- Added translations for signature-related terms in English and Amharic.
- Introduced RankTier options for seafarer registration.
- Added tests for canvas-point utility to ensure accurate pointer mapping on signature pad.
2026-08-29 06:52:14 +00:00
estifanos
32f5fb4590 feat: implement FilePreviewModal to support image, video, and audio previews alongside PDFs 2026-08-28 10:45:06 +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
481ff57ad1 feat: implement reusable PhoneInput component with validation support and integrate across auth and portal modules. 2026-08-20 07:33:25 +00:00
estifanos
4d87d41e55 feat: add PdfPreviewModal component and integrate into DocumentsTab for centralized PDF viewing 2026-08-19 08:48:50 +00:00
Estifo77
c377ddf74a Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-19 10:23:33 +03:00
Nati
629b02fd26 feat: implement person name utility functions and update related components for name handling 2026-08-19 05:52:26 +00:00
estifanos
f31e75c3de feat: implement PageLoader component and register maritime loader as the default theme loader 2026-08-14 11:35:34 +00:00
estifanos
d6b813b697 feat: add landing page copy and styles for English and Amharic versions
- Introduced `landing-copy.ts` containing text for the public landing page, supporting both English and Amharic languages.
- Added `landing.css` for styling the landing page, ensuring scoped styles to prevent conflicts with other app styles.
- Implemented smooth scrolling and animations for a better user experience.
2026-08-14 07:20:42 +00:00
estifanos
85c9930363 Add address management features and improve validation
- Implement saveMyAddress mutation for updating user addresses.
- Enhance address validation schema with additional fields.
- Add error handling for location loading in LocationPicker.
- Update translations for loading errors in English and Amharic.
- Introduce phone number validation for Ethiopian formats.
- Refactor AddressFormContent to accommodate new address structure.
2026-08-08 07:32:33 +00:00
estifanos
7ba760d74b feat(AmharicDatePicker): implement Amharic date picker component with calendar type switching and time input 2026-08-05 10:14:03 +00:00
estifanos
bbae230ad5 feat: implement ModalFooter component for consistent modal action layout 2026-08-05 08:50:38 +00:00
Estifo77
cd1a891d07 fixes 2026-08-03 11:26:56 +03:00
Estifo77
07970b85b2 merge fixes 2026-08-03 10:06:30 +03:00
Mulu Mehari
c62ec59655 Initial End to End functionality 2026-08-02 22:44:08 +03:00
Muluhabt
5161e278ce Adding license generation functionality 2026-07-29 16:53:50 +03:00
mengstabketemaw
9fd59f52ed feat: add i18n support and localized labels to certification and profession features commit 2026-06-30 15:57:25 +03:00
mengstabketemaw
85e070db33 merge design protal and backoffice 2026-06-17 13:50:20 +03:00
Muluhabt
2fbc557aac Project Init 2026-05-29 15:23:46 +03:00