@controleonline/ui-common 1.2.94 → 1.2.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/homepage-1056.md
CHANGED
|
@@ -4,3 +4,11 @@ Soft appearance is opt-in for HomePage only. Existing menu routes/parameters, pe
|
|
|
4
4
|
|
|
5
5
|
Source: https://github.com/ControleOnline/app-community/issues/1056
|
|
6
6
|
Local evidence: 40 homepage tests and 34 runtime footer/zoom tests passed. No production authorization.
|
|
7
|
+
|
|
8
|
+
## Web login translation bootstrap
|
|
9
|
+
|
|
10
|
+
Keep the navigation tree mounted while translations initialize. Hide the shell and disable pointer/accessibility interaction until the existing translation readiness contract succeeds. Unmounting navigation during login resets its route and repeatedly mounts/registers the bottom bar, causing React maximum update depth. No route, permission, translation source, theme or zoom changes. Native behavior is unchanged.
|
|
11
|
+
|
|
12
|
+
Regression evidence: app-community homepage bootstrapNavigation.test.js reproduced maximum update depth before the fix, then passed after it. 44 tests across 9 homepage suites passed. Runtime Dev reproduced the unfixed bug; new runtime verification is required after consuming ui-common 1.2.96.
|
|
13
|
+
|
|
14
|
+
Release 1.2.96 uses the task-only c91510d source plus version metadata. The integration merge into dev preserves independent team work, but those changes are excluded from this homepage package. Publication uses the existing tag-triggered trusted publishing workflow.
|
package/package.json
CHANGED
|
@@ -395,15 +395,19 @@ export const DefaultProvider = ({
|
|
|
395
395
|
|
|
396
396
|
useWebThemePalette({resolveDomainThemeColors, baseThemeColors, mainCompany, resolveThemePalette, runtimeColors, applyPaletteToRuntimeColors, applyThemeCssVariables, actions, currentCompany, isShopClientApp});
|
|
397
397
|
|
|
398
|
-
|
|
399
|
-
return <View style={providerStyles.loadingContainer} />;
|
|
400
|
-
}
|
|
398
|
+
const translationPending = requiresTranslateBootstrap && !isTranslateBootstrapReady;
|
|
401
399
|
|
|
402
400
|
return (
|
|
403
401
|
<ThemeContext.Provider value={themeContextValue}>
|
|
404
402
|
<View
|
|
403
|
+
pointerEvents={translationPending ? 'none' : 'auto'}
|
|
404
|
+
accessibilityElementsHidden={translationPending}
|
|
405
|
+
importantForAccessibility={translationPending ? 'no-hide-descendants' : 'auto'}
|
|
405
406
|
style={[
|
|
406
407
|
providerStyles.shell,
|
|
408
|
+
// Keep navigation mounted while translations load. Unmounting it
|
|
409
|
+
// resets the login route and repeatedly registers the bottom bar.
|
|
410
|
+
translationPending && providerStyles.translationPending,
|
|
407
411
|
{
|
|
408
412
|
backgroundColor: colors?.background || runtimeColors.background,
|
|
409
413
|
},
|