1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-10-27 11:02:16 +01:00

refactor: move plausible context on top of feedback

This commit is contained in:
sjaanus 2024-01-10 11:00:14 +02:00
parent 77074a26de
commit 7e98f3968d
No known key found for this signature in database
GPG Key ID: 20E007C0248BA7FF
2 changed files with 65 additions and 70 deletions

View File

@ -51,72 +51,64 @@ export const App = () => {
return ( return (
<ErrorBoundary FallbackComponent={LayoutError}> <ErrorBoundary FallbackComponent={LayoutError}>
<PlausibleProvider> <ErrorBoundary FallbackComponent={LayoutError}>
<ErrorBoundary FallbackComponent={LayoutError}> <SWRProvider>
<SWRProvider> <Suspense fallback={<Loader />}>
<Suspense fallback={<Loader />}> <ConditionallyRender
<ConditionallyRender condition={!hasFetchedAuth}
condition={!hasFetchedAuth} show={<Loader />}
show={<Loader />} elseShow={
elseShow={ <>
<> <ConditionallyRender
<ConditionallyRender condition={Boolean(
condition={Boolean( uiConfig?.maintenanceMode,
uiConfig?.maintenanceMode, )}
)} show={<MaintenanceBanner />}
show={<MaintenanceBanner />} />
/> <LicenseBanner />
<LicenseBanner /> <ExternalBanners />
<ExternalBanners /> <InternalBanners />
<InternalBanners /> <StyledContainer>
<StyledContainer> <ToastRenderer />
<ToastRenderer /> <Routes>
<Routes> {availableRoutes.map((route) => (
{availableRoutes.map(
(route) => (
<Route
key={route.path}
path={route.path}
element={
<LayoutPicker
isStandalone={
route.isStandalone ===
true
}
>
<ProtectedRoute
route={
route
}
/>
</LayoutPicker>
}
/>
),
)}
<Route <Route
path='/' key={route.path}
path={route.path}
element={ element={
<InitialRedirect /> <LayoutPicker
isStandalone={
route.isStandalone ===
true
}
>
<ProtectedRoute
route={route}
/>
</LayoutPicker>
} }
/> />
<Route ))}
path='*' <Route
element={<NotFound />} path='/'
/> element={<InitialRedirect />}
</Routes> />
<Route
path='*'
element={<NotFound />}
/>
</Routes>
<FeedbackNPS openUrl='http://feedback.unleash.run' /> <FeedbackNPS openUrl='http://feedback.unleash.run' />
<SplashPageRedirect /> <SplashPageRedirect />
</StyledContainer> </StyledContainer>
</> </>
} }
/> />
</Suspense> </Suspense>
</SWRProvider> </SWRProvider>
</ErrorBoundary> </ErrorBoundary>
</PlausibleProvider>
</ErrorBoundary> </ErrorBoundary>
); );
}; };

View File

@ -17,6 +17,7 @@ import { InstanceStatus } from 'component/common/InstanceStatus/InstanceStatus';
import { UIProviderContainer } from 'component/providers/UIProvider/UIProviderContainer'; import { UIProviderContainer } from 'component/providers/UIProvider/UIProviderContainer';
import { StickyProvider } from 'component/common/Sticky/StickyProvider'; import { StickyProvider } from 'component/common/Sticky/StickyProvider';
import { FeedbackProvider } from './component/feedbackNew/FeedbackProvider'; import { FeedbackProvider } from './component/feedbackNew/FeedbackProvider';
import { PlausibleProvider } from './component/providers/PlausibleProvider/PlausibleProvider';
window.global ||= window; window.global ||= window;
@ -27,16 +28,18 @@ ReactDOM.render(
<QueryParamProvider adapter={ReactRouter6Adapter}> <QueryParamProvider adapter={ReactRouter6Adapter}>
<ThemeProvider> <ThemeProvider>
<AnnouncerProvider> <AnnouncerProvider>
<FeedbackProvider> <PlausibleProvider>
<FeedbackCESProvider> <FeedbackProvider>
<StickyProvider> <FeedbackCESProvider>
<InstanceStatus> <StickyProvider>
<ScrollTop /> <InstanceStatus>
<App /> <ScrollTop />
</InstanceStatus> <App />
</StickyProvider> </InstanceStatus>
</FeedbackCESProvider> </StickyProvider>
</FeedbackProvider> </FeedbackCESProvider>
</FeedbackProvider>
</PlausibleProvider>
</AnnouncerProvider> </AnnouncerProvider>
</ThemeProvider> </ThemeProvider>
</QueryParamProvider> </QueryParamProvider>