- App.tsx: full navigation (Auth stack + Main tabs with 5 screens) - Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen - HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors - MapScreen: interactive map with layer toggles (6 layers) - MarketplaceScreen: categories (6), products (5), search - ChatScreen: AI chat with quick prompts (4), bot responses - ProfileScreen: user info, stats, menu (9 items), logout - AlertsScreen: alert list with severity, acknowledge - SensorsScreen: sensor list with type filters (6 types), search - ZonesScreen: zone cards with stats - SettingsScreen: language picker (FR/EN/ES/DE), privacy, about - Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n - Hooks: useSensors, useAlerts, useNotifications, useLocation - Components: Card, Button, LoadingSpinner, ErrorBoundary, Header - Services: iotService, notificationService (with axios API client) - Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN) - Theme: colors.ts with full design system (Blue Ocean palette) - Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
import type { i18n, ParseKeys, Namespace, TypeOptions, TOptions, TFunction } from 'i18next';
|
|
import * as React from 'react';
|
|
|
|
type _DefaultNamespace = TypeOptions['defaultNS'];
|
|
|
|
type TransChild = React.ReactNode | Record<string, unknown>;
|
|
export type TransProps<
|
|
Key extends ParseKeys<Ns, TOpt, KPrefix>,
|
|
Ns extends Namespace = _DefaultNamespace,
|
|
KPrefix = undefined,
|
|
TContext extends string | undefined = undefined,
|
|
TOpt extends TOptions & { context?: TContext } = { context: TContext },
|
|
E = React.HTMLProps<HTMLDivElement>,
|
|
> = E & {
|
|
children?: TransChild | readonly TransChild[];
|
|
components?: readonly React.ReactElement[] | { readonly [tagName: string]: React.ReactElement };
|
|
count?: number;
|
|
context?: TContext;
|
|
defaults?: string;
|
|
i18n?: i18n;
|
|
i18nKey?: Key | Key[];
|
|
ns?: Ns;
|
|
parent?: string | React.ComponentType<any> | null; // used in React.createElement if not null
|
|
tOptions?: TOpt;
|
|
values?: {};
|
|
shouldUnescape?: boolean;
|
|
t?: TFunction<Ns, KPrefix>;
|
|
};
|
|
|
|
export function Trans<
|
|
Key extends ParseKeys<Ns, TOpt, KPrefix>,
|
|
Ns extends Namespace = _DefaultNamespace,
|
|
KPrefix = undefined,
|
|
TContext extends string | undefined = undefined,
|
|
TOpt extends TOptions & { context?: TContext } = { context: TContext },
|
|
E = React.HTMLProps<HTMLDivElement>,
|
|
>(props: TransProps<Key, Ns, KPrefix, TContext, TOpt, E>): React.ReactElement;
|