feat(smart-app): implement complete mobile app MVP

- 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
This commit is contained in:
Eric FELIXINE
2026-06-01 18:00:35 -04:00
parent 08ca495bde
commit e30ae8ed09
35578 changed files with 3703534 additions and 43 deletions

View File

@@ -0,0 +1,28 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "Icon", {
enumerable: true,
get: function () {
return _AvatarIcon.default;
}
});
Object.defineProperty(exports, "Image", {
enumerable: true,
get: function () {
return _AvatarImage.default;
}
});
Object.defineProperty(exports, "Text", {
enumerable: true,
get: function () {
return _AvatarText.default;
}
});
var _AvatarIcon = _interopRequireDefault(require("./AvatarIcon"));
var _AvatarImage = _interopRequireDefault(require("./AvatarImage"));
var _AvatarText = _interopRequireDefault(require("./AvatarText"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
//# sourceMappingURL=Avatar.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_AvatarIcon","_interopRequireDefault","require","_AvatarImage","_AvatarText","e","__esModule","default"],"sourceRoot":"../../../../src","sources":["components/Avatar/Avatar.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA+C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}

View File

@@ -0,0 +1,65 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _theming = require("../../core/theming");
var _colors = require("../../styles/themes/v2/colors");
var _getContrastingColor = _interopRequireDefault(require("../../utils/getContrastingColor"));
var _Icon = _interopRequireDefault(require("../Icon"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const defaultSize = 64;
/**
* Avatars can be used to represent people in a graphical way.
*
* ## Usage
* ```js
* import * as React from 'react';
* import { Avatar } from 'react-native-paper';
*
* const MyComponent = () => (
* <Avatar.Icon size={24} icon="folder" />
* );
* ```
*/
const Avatar = ({
icon,
size = defaultSize,
style,
theme: themeOverrides,
...rest
}) => {
var _theme$colors;
const theme = (0, _theming.useInternalTheme)(themeOverrides);
const {
backgroundColor = (_theme$colors = theme.colors) === null || _theme$colors === void 0 ? void 0 : _theme$colors.primary,
...restStyle
} = _reactNative.StyleSheet.flatten(style) || {};
const textColor = rest.color ?? (0, _getContrastingColor.default)(backgroundColor, _colors.white, 'rgba(0, 0, 0, .54)');
return /*#__PURE__*/React.createElement(_reactNative.View, _extends({
style: [{
width: size,
height: size,
borderRadius: size / 2,
backgroundColor
}, styles.container, restStyle]
}, rest), /*#__PURE__*/React.createElement(_Icon.default, {
source: icon,
color: textColor,
size: size * 0.6
}));
};
Avatar.displayName = 'Avatar.Icon';
const styles = _reactNative.StyleSheet.create({
container: {
justifyContent: 'center',
alignItems: 'center'
}
});
var _default = exports.default = Avatar;
//# sourceMappingURL=AvatarIcon.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_theming","_colors","_getContrastingColor","_interopRequireDefault","_Icon","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","defaultSize","Avatar","icon","size","style","theme","themeOverrides","rest","_theme$colors","useInternalTheme","backgroundColor","colors","primary","restStyle","StyleSheet","flatten","textColor","color","getContrastingColor","white","createElement","View","width","height","borderRadius","styles","container","source","displayName","create","justifyContent","alignItems","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Avatar/AvatarIcon.tsx"],"mappings":"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","ignoreList":[]}

View File

@@ -0,0 +1,75 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _theming = require("../../core/theming");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const defaultSize = 64;
/**
* Avatars can be used to represent people in a graphical way.
*
* ## Usage
* ```js
* import * as React from 'react';
* import { Avatar } from 'react-native-paper';
*
* const MyComponent = () => (
* <Avatar.Image size={24} source={require('../assets/avatar.png')} />
* );
* export default MyComponent
* ```
*/
const AvatarImage = ({
size = defaultSize,
source,
style,
onError,
onLayout,
onLoad,
onLoadEnd,
onLoadStart,
onProgress,
theme: themeOverrides,
testID,
...rest
}) => {
const {
colors
} = (0, _theming.useInternalTheme)(themeOverrides);
const {
backgroundColor = colors === null || colors === void 0 ? void 0 : colors.primary
} = _reactNative.StyleSheet.flatten(style) || {};
return /*#__PURE__*/React.createElement(_reactNative.View, _extends({
style: [{
width: size,
height: size,
borderRadius: size / 2,
backgroundColor
}, style]
}, rest), typeof source === 'function' && source({
size
}), typeof source !== 'function' && /*#__PURE__*/React.createElement(_reactNative.Image, {
testID: testID,
source: source,
style: {
width: size,
height: size,
borderRadius: size / 2
},
onError: onError,
onLayout: onLayout,
onLoad: onLoad,
onLoadEnd: onLoadEnd,
onLoadStart: onLoadStart,
onProgress: onProgress,
accessibilityIgnoresInvertColors: true
}));
};
AvatarImage.displayName = 'Avatar.Image';
var _default = exports.default = AvatarImage;
//# sourceMappingURL=AvatarImage.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_theming","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","defaultSize","AvatarImage","size","source","style","onError","onLayout","onLoad","onLoadEnd","onLoadStart","onProgress","theme","themeOverrides","testID","rest","colors","useInternalTheme","backgroundColor","primary","StyleSheet","flatten","createElement","View","width","height","borderRadius","Image","accessibilityIgnoresInvertColors","displayName","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Avatar/AvatarImage.tsx"],"mappings":"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","ignoreList":[]}

View File

@@ -0,0 +1,79 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _theming = require("../../core/theming");
var _colors = require("../../styles/themes/v2/colors");
var _getContrastingColor = _interopRequireDefault(require("../../utils/getContrastingColor"));
var _Text = _interopRequireDefault(require("../Typography/Text"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const defaultSize = 64;
/**
* Avatars can be used to represent people in a graphical way.
*
* ## Usage
* ```js
* import * as React from 'react';
* import { Avatar } from 'react-native-paper';
*
* const MyComponent = () => (
* <Avatar.Text size={24} label="XD" />
* );
* ```
*/
const AvatarText = ({
label,
size = defaultSize,
style,
labelStyle,
color: customColor,
theme: themeOverrides,
maxFontSizeMultiplier,
...rest
}) => {
var _theme$colors;
const theme = (0, _theming.useInternalTheme)(themeOverrides);
const {
backgroundColor = (_theme$colors = theme.colors) === null || _theme$colors === void 0 ? void 0 : _theme$colors.primary,
...restStyle
} = _reactNative.StyleSheet.flatten(style) || {};
const textColor = customColor ?? (0, _getContrastingColor.default)(backgroundColor, _colors.white, 'rgba(0, 0, 0, .54)');
const {
fontScale
} = (0, _reactNative.useWindowDimensions)();
return /*#__PURE__*/React.createElement(_reactNative.View, _extends({
style: [{
width: size,
height: size,
borderRadius: size / 2,
backgroundColor
}, styles.container, restStyle]
}, rest), /*#__PURE__*/React.createElement(_Text.default, {
style: [styles.text, {
color: textColor,
fontSize: size / 2,
lineHeight: size / fontScale
}, labelStyle],
numberOfLines: 1,
maxFontSizeMultiplier: maxFontSizeMultiplier
}, label));
};
AvatarText.displayName = 'Avatar.Text';
const styles = _reactNative.StyleSheet.create({
container: {
justifyContent: 'center',
alignItems: 'center'
},
text: {
textAlign: 'center',
textAlignVertical: 'center'
}
});
var _default = exports.default = AvatarText;
//# sourceMappingURL=AvatarText.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_theming","_colors","_getContrastingColor","_interopRequireDefault","_Text","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","defaultSize","AvatarText","label","size","style","labelStyle","color","customColor","theme","themeOverrides","maxFontSizeMultiplier","rest","_theme$colors","useInternalTheme","backgroundColor","colors","primary","restStyle","StyleSheet","flatten","textColor","getContrastingColor","white","fontScale","useWindowDimensions","createElement","View","width","height","borderRadius","styles","container","text","fontSize","lineHeight","numberOfLines","displayName","create","justifyContent","alignItems","textAlign","textAlignVertical","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Avatar/AvatarText.tsx"],"mappings":"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","ignoreList":[]}