23 Commits

Author SHA1 Message Date
melvinchia3636
44988ebf95 feat(api): add useForgeMutation hook with automatic toast errors
Introduce useForgeMutation that wraps useMutation with:
- Automatic query invalidation from queryKey config
- Default error handling via common.fetch:failure locale
- setForgeMutationErrorHandler for global error toast setup
- Action translation support through common.fetch:action.* keys
2026-06-26 15:25:14 +08:00
melvinchia3636
64a0b5cfed fix(client): fix a bug where no modules are loaded on first login until page refresh 2026-06-25 08:53:37 +08:00
melvinchia3636
ca4dd24b22 fix: fix locales preloading 2026-06-25 08:53:37 +08:00
melvinchia3636
955bd5ab61 fix(locales): hmm 2026-06-25 08:53:37 +08:00
melvinchia3636
dc19e901f0 feat: minor improvements here and there 2026-06-25 08:53:37 +08:00
melvinchia3636
ff19fe08ec feat(i18n): add preloading for common namespace 2026-06-25 08:53:37 +08:00
melvinchia3636
4233f99e83 feat(client): layout and display improvements for module required list modal in api keys management module 2026-06-25 08:53:37 +08:00
melvinchia3636
ba4496cfed fix(client): fix locales in login page 2026-06-25 08:53:37 +08:00
melvinchia3636
104976d51c feat(client): widget list in the manage widget modal is now grouped by modules 2026-06-25 08:53:37 +08:00
melvinchia3636
eb4a8677cd fix: fix issue related to localization 2026-06-25 08:53:37 +08:00
melvinchia3636
7fd13794c0 fix: minor ui fixes 2026-06-25 08:53:36 +08:00
melvinchia3636
eaff3f4daa fix: minor localization and responsive fixes 2026-06-25 08:53:36 +08:00
melvinchia3636
aed7b924f1 fix: minor type fixes 2026-06-25 08:53:36 +08:00
melvinchia3636
781b1356af fix: miscellaneous fixes 2026-06-25 08:53:36 +08:00
melvinchia3636
aeec0782b3 feat: support bulk creation of missing translation categories in module manager 2026-06-25 08:53:36 +08:00
melvinchia3636
88d2ef6f11 feat: a lot of i18n improvements 2026-06-25 08:53:36 +08:00
melvinchia3636
cbe23d18b8 fix: some minor issues 2026-06-25 08:53:36 +08:00
melvinchia3636
b4dfe07762 fix: remove console.log and move ModalManager inside Suspense
- DashboardGrid: remove stray console.log
- routeBuilder: move ModalManager inside Suspense boundary
- docs: update form migration guide with corrected examples
2026-06-25 08:53:36 +08:00
melvinchia3636
43e618a383 refactor: codebase linting 2026-06-25 08:53:36 +08:00
melvinchia3636
e15009d711 refactor: codebase linting 2026-06-25 08:53:36 +08:00
melvinchia3636
5682a22205 style: apply eslint local/padding-react-hooks auto-fix across codebase
Automatically fix padding lines around React hook calls per the new
local/padding-react-hooks rule: remove blank lines between consecutive
hooks, add blank lines after hooks before const/expression statements,
and remove trailing blank lines after const/expression blocks.
2026-06-25 08:53:35 +08:00
melvinchia3636
032e577732 refactor(localization): extract i18n into @lifeforge/localization package
- Create new @lifeforge/localization package with client-i18n-config, I18nInitProvider, and useModuleTranslation hook
- Rename ModuleHeaderStateProvider -> ModuleMetadataProvider and move to @lifeforge/federation
- Move I18nInitProvider from apps/web to @lifeforge/localization with configurable init/fallbacks
- Add module name to ModuleMetadataProvider context for scoped translations
- Wire up @lifeforge/localization and @lifeforge/federation as dependencies in @lifeforge/ui
- Update ModuleHeader to use useModuleTranslation for scoped i18n namespaces
- Register @lifeforge/localization in shared-packages config
- Update docs vite config with federation plugin
2026-06-25 08:53:35 +08:00
melvinchia3636
a1509bbaee refactor: massive codebase folder restructuring 2026-06-25 08:53:35 +08:00