Commit Graph

358 Commits

Author SHA1 Message Date
fitse-yotor
f294f67ced fix(portal,backoffice): six reported issues in registration and the designer
Seafarer and vessel registration were filtered out of the operations
step by `requiresOperatorMode !== false`, so someone registering as a
seafarer or vessel owner landed on an onboarding screen that did not
describe them. Both now appear, grouped apart from the company modes:
declaring "I am a seafarer" is a different kind of statement from "my
company forwards freight".

The designer's preview was gated on the Handlebars source alone, which a
canvas layout does not have until the server compiles it on save -- so
the button was dead for exactly the designs the canvas exists for.

Editing looked broken rather than deliberately read-only: every seeded
template is PUBLISHED, and a published design is immutable because
certificates were issued from it. Says so, and offers the new-version
action that is the way forward.

Reviewing officers saw company, capital and staff tabs on seafarer
certificate applications, because PRESENTATION is keyed by the generic
licence keys and the fifty-odd rank-specific CoC/CoP keys fell through
to the company default. Matched by prefix instead, so a certificate
configured tomorrow gets the right presentation without a code change.

Seaman book and BTC are wired to the newly seeded licence types and no
longer marked "soon".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 22:21:00 +03:00
fitse-yotor
c58a727a96 Merge branch 'feature/seaman' of https://github.com/Tria-plc/emaui into certficate 2026-08-15 12:44:39 +03:00
fitse-yotor
7772a93f26 feat: add allowScripts configuration for specific package versions in package.json 2026-08-15 12:43:23 +03:00
fitse-yotor
0ac75669d4 feat: add ExamStageActions component for exam fee handling
- Implemented ExamStageActions component to manage actions related to exam booking and payment based on application status.
- Added mock-base-query for development, providing a partial mock backend for various API endpoints.
- Introduced mock-data for simulating responses in the mock-base-query, covering profiles, vessels, applications, licenses, exams, and notifications.
2026-08-15 11:51:14 +03:00
Nati Nigussie
98bf79832f Merge pull request #13 from Tria-plc/estif-branch-1 2026-08-14 12:02:15 +03:00
estifanos
accfb8c95d fixes 2026-08-14 08:16:09 +00:00
estifanos
6795607b13 fix 2026-08-14 08:05:32 +00:00
estifanos
e0b3a4887a feat: add internationalization support for auth components and pages, including translations for Amharic and English 2026-08-14 07:54:30 +00:00
estifanos
d71483be4a feat: simplify hero section buttons and update call-to-action text 2026-08-14 07:46:39 +00:00
estifanos
cfbec948fb feat: enhance landing page with new hero section, badges, and improved styles 2026-08-14 07:43:14 +00:00
estifanos
de04ed64b3 feat: remove certificate verification page and related API, update landing page links 2026-08-14 07:34:35 +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
Nati Nigussie
d8b01a2003 Merge pull request #12 from Tria-plc/Refactor
feat: implement permission-based access control across various pages …
2026-08-13 16:12:03 +03:00
Nati
6852fc86c6 feat: implement permission-based access control across various pages and components
- Added RequirePermission component to manage access based on user permissions.
- Integrated permission checks in MySeaRecordsPage, SeafarerRegistrationPage, VesselRegistrationPage, WaiverPage, and PortalLayout.
- Updated router to enforce permissions for specific routes.
- Introduced PORTAL_PERMISSIONS and LICENSE_PERMISSIONS constants for consistent permission management.
- Enhanced usePermissions hook to fetch permissions from the server and determine access rights.
- Refactored UI components to conditionally render based on user permissions, improving security and user experience.
2026-08-13 12:58:11 +00:00
Nati Nigussie
49fbd8fc53 Merge pull request #11 from Tria-plc/Refactor
Refactor
2026-08-13 14:38:21 +03:00
Nati
220ed2d018 Merge branch 'dev' of github.com:Tria-plc/emaui into Refactor
Resolved by unifying on the lib/data AdvancedTable (PR #10) as the canonical
table component: kept its API plus teammate i18n/feature work, kept the
folder-per-table structure (index.tsx + columns.tsx + actions.tsx) across all
27 tables, removed the parallel lib/table implementation, and fixed
pre-existing compile breaks in ExamDetailPage/QuestionAssigner/RecordResultModal.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 11:31:27 +00:00
Nati Nigussie
bacaf47cf6 Merge pull request #10 from Tria-plc/estif-branch-1
Estif branch 1
2026-08-13 14:07:08 +03:00
Nati
2af9e60800 feat(vessel-registration): add vessel registration page with incident reporting and certificate download functionality
feat(waiver): implement waiver page with application tracking and letter download feature

feat(ui): introduce AdvancedTable component for enhanced table functionality across the application

chore: update package-lock.json to remove unnecessary dependencies
2026-08-13 09:11:50 +00:00
Yonas Tewabe
a7e74cb7bd Add restart policy to ema-portal and ema-backoffice 2026-08-13 09:22:31 +03:00
estifanos
2fa55965e1 feat: enhance internationalization support across various components and pages 2026-08-12 12:30:22 +00:00
estifanos
31c52c02e0 feat: introduce useLocalized hook for bilingual value retrieval.(localization round 2)
- Added useLocalized hook to provide a stable function for retrieving bilingual values based on the current language.
- Updated various components across the portal and backoffice to utilize the new useLocalized hook for consistent bilingual label rendering.
- Refactored localized function in licensing.helpers to handle empty Amharic strings correctly.
- Enhanced localization handling in LicenseApplicationPage, ProfilePage, and other components to ensure proper language switching.
2026-08-12 11:31:20 +00:00
Estifo77
faf58850f0 UI fixes 2026-08-12 14:17:29 +03:00
estifanos
7242f8425a feat: add internationalization support for WaiverPage with translations for English and Amharic 2026-08-12 11:04:47 +00:00
estifanos
8f2dcb30f0 feat: add internationalization support for seafarer registry
- Integrated i18n for seafarer registry page, including translations for various UI elements and statuses.
- Updated SeafarerDetailDrawer and StatusModal components to utilize translation hooks.
- Enhanced user feedback messages for status updates and errors.
- Added new translations for Amharic and English locales, covering seafarer statuses, drawer labels, modal content, and table headers.
localization for backoffice
2026-08-12 10:55:14 +00:00
estifanos
9897a9bf78 feat: implement date display utility across various pages
- Added `useDateDisplayer` hook and `dateDisplayer` function to format dates consistently based on the user's language.
- Updated multiple components and pages in both backoffice and portal applications to utilize the new date display functionality, ensuring proper formatting for dates in lists, tables, and detail views.
- Introduced Ethiopian date formatting for Amharic language support.
- Refactored date handling in components such as ExamAppealsPage, ResultPage, SeafarerRegistryPage, and others to improve localization and user experience.
2026-08-12 10:22:39 +00:00
Estifo77
33935419fb cookie clearting fix 2026-08-12 12:34:09 +03:00
estifanos
7c9f78c680 feat: replace Paper with Modal in CertificationPage, ConfigurationPage, ExamPage, and QuestionPage for consistent UI 2026-08-12 07:55:43 +00:00
estifanos
d0bbfe30d1 feat: update MyApplicationsPage with AdvancedTable and add translations for table headers 2026-08-12 07:45:00 +00:00
estifanos
5aea4b1c9f feat: enhance MyApplicationsPage with segmented tabs and improved styling
- Added a new CSS module for MyApplicationsPage to style the segmented tab bar and clickable tiles.
- Implemented tab navigation for applications, licences, and apply sections, improving user experience.
- Introduced filtering options for applications, including search, status, and date range.
- Enhanced the display of application and licence information with new components and improved layout.
- Updated translations for the new features in both Amharic and English.
2026-08-12 07:37:53 +00:00
estifanos
362e6d88b4 feat: enhance PaymentConfigPage with refetch and loading state for license types 2026-08-12 07:37:19 +00:00
estifanos
bbb23f3bbf feat: replace Table with AdvancedTable for improved license type management in PaymentConfigPage 2026-08-12 07:35:43 +00:00
estifanos
0633ecc165 feat: implement applicant name fallback logic in licensing helpers and update MyApplicationsPage 2026-08-12 07:18:43 +00:00
estifanos
829dfed999 feat: add search and filter functionality to MyApplicationsPage 2026-08-12 07:15:21 +00:00
estifanos
444c3111ab UI 2026-08-12 06:40:43 +00:00
estifanos
4a68bdf169 UI fixes 2026-08-11 12:24:03 +00:00
estifanos
b2f99200e7 feat: enhance AmharicDatePicker with Ethiopian time selection and formatting 2026-08-11 12:20:22 +00:00
estifanos
7c3a25245f UI fixes 2026-08-11 11:48:09 +00:00
estifanos
18de7b1c1d UI fixes 2026-08-11 11:39:46 +00:00
estifanos
1b0a21c683 feat: add page size selection to AdvancedTable and update useServerTable hook 2026-08-11 11:37:52 +00:00
Estifo77
0573e01769 UI fixes 2026-08-11 14:32:26 +03:00
estifanos
0fd78c7757 fix: update Badge component in LicenseQueuePage for consistent styling
feat: add siblings and boundaries props to pagination in AdvancedTable
2026-08-11 11:23:38 +00:00
estifanos
d7ecc86177 fix: restore vessel transfer logic and update vessel selection component(uncommenting) 2026-08-11 11:10:14 +00:00
estifanos
01899c0593 feat: implement endorsement types and update navigation for endorsement processing 2026-08-11 10:50:37 +00:00
estifanos
deb650f22f fix: update DocumentSlots component to include optional mode and use requirement.id as key 2026-08-11 10:35:49 +00:00
estifanos
63ef5d8a49 fix: update sorting of required documents in DocumentSlots component. Revert 2026-08-11 10:23:53 +00:00
Estifo77
1cfa3dec69 UI 2026-08-11 13:10:44 +03:00
estifanos
3b63721268 fix: sort required document requirements by sortOrder in DocumentSlots component 2026-08-11 10:09:51 +00:00
estifanos
f388a63361 fix: update key prop in DocumentSlots component to use requirement.id 2026-08-11 10:04:19 +00:00
estifanos
41a5e96d6b feat: integrate AmharicDatePicker for date input in ConfigDrivenSection 2026-08-11 09:59:17 +00:00
estifanos
f0a933e1af feat: enhance EndorsementPage with eligibility checks and application management 2026-08-11 09:51:45 +00:00