Files
emaui/apps/portal/src/app/providers/AppProviders.tsx
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

42 lines
1.5 KiB
TypeScript

import { I18nextProvider } from 'react-i18next';
import { Provider } from 'react-redux';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { AuthBootstrap, AuthConfigProvider } from '@ema-platform/auth';
import type { ReactNode } from 'react';
import { store } from '../store';
import { i18n } from '../i18n/config';
import { MantineThemeProvider } from './MantineThemeProvider';
import { ErrorBoundary } from '../components/ErrorBoundary';
const queryClient = new QueryClient({
defaultOptions: { queries: { retry: 1, staleTime: 1000 * 60 * 5 } },
});
export function AppProviders({ children }: { children: ReactNode }) {
return (
<ErrorBoundary>
<Provider store={store}>
<QueryClientProvider client={queryClient}>
<AuthConfigProvider
value={{
appName: 'Portal',
storagePrefix: 'ema-portal',
// Applicants land on the licence list rather than the seafarer
// dashboard: signing up here is the first step of applying.
loginRedirectPath: '/licensing/applications',
enableSignup: true,
enableForgotPassword: true,
}}
>
<I18nextProvider i18n={i18n}>
<MantineThemeProvider>
<AuthBootstrap>{children}</AuthBootstrap>
</MantineThemeProvider>
</I18nextProvider>
</AuthConfigProvider>
</QueryClientProvider>
</Provider>
</ErrorBoundary>
);
}