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,108 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.ToggleButton = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _color = _interopRequireDefault(require("color"));
var _ToggleButtonGroup = require("./ToggleButtonGroup");
var _utils = require("./utils");
var _theming = require("../../core/theming");
var _colors = require("../../styles/themes/v2/colors");
var _forwardRef = require("../../utils/forwardRef");
var _IconButton = _interopRequireDefault(require("../IconButton/IconButton"));
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); }
/**
* Toggle buttons can be used to group related options. To emphasize groups of related toggle buttons,
* a group should share a common container.
*
* ## Usage
* ```js
* import * as React from 'react';
* import { ToggleButton } from 'react-native-paper';
*
* const ToggleButtonExample = () => {
* const [status, setStatus] = React.useState('checked');
*
* const onButtonToggle = value => {
* setStatus(status === 'checked' ? 'unchecked' : 'checked');
* };
*
* return (
* <ToggleButton
* icon="bluetooth"
* value="bluetooth"
* status={status}
* onPress={onButtonToggle}
* />
* );
* };
*
* export default ToggleButtonExample;
*
* ```
*/
const ToggleButton = exports.ToggleButton = (0, _forwardRef.forwardRef)(({
icon,
size,
theme: themeOverrides,
accessibilityLabel,
disabled,
style,
value,
status,
onPress,
rippleColor,
...rest
}, ref) => {
const theme = (0, _theming.useInternalTheme)(themeOverrides);
const borderRadius = theme.roundness;
return /*#__PURE__*/React.createElement(_ToggleButtonGroup.ToggleButtonGroupContext.Consumer, null, context => {
const checked = context && context.value === value || status === 'checked';
const backgroundColor = (0, _utils.getToggleButtonColor)({
theme,
checked
});
const borderColor = theme.isV3 ? theme.colors.outline : (0, _color.default)(theme.dark ? _colors.white : _colors.black).alpha(0.29).rgb().string();
return /*#__PURE__*/React.createElement(_IconButton.default, _extends({
borderless: false,
icon: icon,
onPress: e => {
if (onPress) {
onPress(e);
}
if (context) {
context.onValueChange(!checked ? value : null);
}
},
size: size,
accessibilityLabel: accessibilityLabel,
accessibilityState: {
disabled,
selected: checked
},
disabled: disabled,
style: [styles.content, {
backgroundColor,
borderRadius,
borderColor
}, style],
ref: ref,
theme: theme,
rippleColor: rippleColor
}, rest));
});
});
const styles = _reactNative.StyleSheet.create({
content: {
width: 42,
height: 42,
margin: 0
}
});
var _default = exports.default = ToggleButton; // @component-docs ignore-next-line
//# sourceMappingURL=ToggleButton.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_color","_interopRequireDefault","_ToggleButtonGroup","_utils","_theming","_colors","_forwardRef","_IconButton","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","ToggleButton","exports","forwardRef","icon","size","theme","themeOverrides","accessibilityLabel","disabled","style","value","status","onPress","rippleColor","rest","ref","useInternalTheme","borderRadius","roundness","createElement","ToggleButtonGroupContext","Consumer","context","checked","backgroundColor","getToggleButtonColor","borderColor","isV3","colors","outline","color","dark","white","black","alpha","rgb","string","borderless","onValueChange","accessibilityState","selected","styles","content","StyleSheet","create","width","height","margin","_default"],"sourceRoot":"../../../../src","sources":["components/ToggleButton/ToggleButton.tsx"],"mappings":"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","ignoreList":[]}

View File

@@ -0,0 +1,53 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.ToggleButtonGroupContext = exports.ToggleButtonGroup = void 0;
var React = _interopRequireWildcard(require("react"));
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); }
const ToggleButtonGroupContext = exports.ToggleButtonGroupContext =
/*#__PURE__*/
//@ts-expect-error: TS can't ensure the type from Group to children
React.createContext(null);
/**
* Toggle group allows to control a group of toggle buttons.</br>
* It doesn't change the appearance of the toggle buttons. If you want to group them in a row, check out [ToggleButton.Row](ToggleButtonRow).
*
* ## Usage
* ```js
* import * as React from 'react';
* import { ToggleButton } from 'react-native-paper';
*
* const MyComponent = () => {
* const [value, setValue] = React.useState('left');
*
* return (
* <ToggleButton.Group
* onValueChange={value => setValue(value)}
* value={value}
* >
* <ToggleButton icon="format-align-left" value="left" />
* <ToggleButton icon="format-align-right" value="right" />
* </ToggleButton.Group>
* );
* };
*
* export default MyComponent;
*```
*/
const ToggleButtonGroup = ({
value,
onValueChange,
children
}) => /*#__PURE__*/React.createElement(ToggleButtonGroupContext.Provider, {
value: {
value,
onValueChange
}
}, children);
exports.ToggleButtonGroup = ToggleButtonGroup;
ToggleButtonGroup.displayName = 'ToggleButton.Group';
var _default = exports.default = ToggleButtonGroup; // @component-docs ignore-next-line
//# sourceMappingURL=ToggleButtonGroup.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToggleButtonGroupContext","exports","createContext","ToggleButtonGroup","value","onValueChange","children","createElement","Provider","displayName","_default"],"sourceRoot":"../../../../src","sources":["components/ToggleButton/ToggleButtonGroup.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAsBxB,MAAMkB,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA;AAAA;AACnC;AACAtB,KAAK,CAACwB,aAAa,CAA0B,IAAW,CAAC;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAGA,CAAkB;EAC1CC,KAAK;EACLC,aAAa;EACbC;AACY,CAAC,kBACb5B,KAAA,CAAA6B,aAAA,CAACP,wBAAwB,CAACQ,QAAQ;EAChCJ,KAAK,EAAE;IACLA,KAAK;IACLC;EACF;AAAE,GAEDC,QACgC,CACpC;AAACL,OAAA,CAAAE,iBAAA,GAAAA,iBAAA;AAEFA,iBAAiB,CAACM,WAAW,GAAG,oBAAoB;AAAC,IAAAC,QAAA,GAAAT,OAAA,CAAAV,OAAA,GAEtCY,iBAAiB,EAEhC","ignoreList":[]}

View File

@@ -0,0 +1,85 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.ToggleButtonRow = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _ToggleButton = _interopRequireDefault(require("./ToggleButton"));
var _ToggleButtonGroup = _interopRequireDefault(require("./ToggleButtonGroup"));
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); }
/**
* Toggle button row renders a group of toggle buttons in a row.
*
* ## Usage
* ```js
* import * as React from 'react';
* import { ToggleButton } from 'react-native-paper';
*
* const MyComponent = () => {
* const [value, setValue] = React.useState('left');
*
* return (
* <ToggleButton.Row onValueChange={value => setValue(value)} value={value}>
* <ToggleButton icon="format-align-left" value="left" />
* <ToggleButton icon="format-align-right" value="right" />
* </ToggleButton.Row>
* );
* };
*
* export default MyComponent;
*
*```
*/
const ToggleButtonRow = ({
value,
onValueChange,
children,
style
}) => {
const count = React.Children.count(children);
return /*#__PURE__*/React.createElement(_ToggleButtonGroup.default, {
value: value,
onValueChange: onValueChange
}, /*#__PURE__*/React.createElement(_reactNative.View, {
style: [styles.row, style]
}, React.Children.map(children, (child, i) => {
// @ts-expect-error: TypeScript complains about child.type but it doesn't matter
if (child && child.type === _ToggleButton.default) {
// @ts-expect-error: We're sure that child is a React Element
return /*#__PURE__*/React.cloneElement(child, {
style: [styles.button, i === 0 ? styles.first : i === count - 1 ? styles.last : styles.middle,
// @ts-expect-error: We're sure that child is a React Element
child.props.style]
});
}
return child;
})));
};
exports.ToggleButtonRow = ToggleButtonRow;
ToggleButtonRow.displayName = 'ToggleButton.Row';
const styles = _reactNative.StyleSheet.create({
row: {
flexDirection: 'row'
},
button: {
borderWidth: _reactNative.StyleSheet.hairlineWidth
},
first: {
borderTopRightRadius: 0,
borderBottomRightRadius: 0
},
middle: {
borderRadius: 0,
borderLeftWidth: 0
},
last: {
borderLeftWidth: 0,
borderTopLeftRadius: 0,
borderBottomLeftRadius: 0
}
});
var _default = exports.default = ToggleButtonRow; // @component-docs ignore-next-line
//# sourceMappingURL=ToggleButtonRow.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_ToggleButton","_interopRequireDefault","_ToggleButtonGroup","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToggleButtonRow","value","onValueChange","children","style","count","Children","createElement","View","styles","row","map","child","type","ToggleButton","cloneElement","button","first","last","middle","props","exports","displayName","StyleSheet","create","flexDirection","borderWidth","hairlineWidth","borderTopRightRadius","borderBottomRightRadius","borderRadius","borderLeftWidth","borderTopLeftRadius","borderBottomLeftRadius","_default"],"sourceRoot":"../../../../src","sources":["components/ToggleButton/ToggleButtonRow.tsx"],"mappings":"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","ignoreList":[]}

View File

@@ -0,0 +1,20 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ToggleButton = _interopRequireDefault(require("./ToggleButton"));
var _ToggleButtonGroup = _interopRequireDefault(require("./ToggleButtonGroup"));
var _ToggleButtonRow = _interopRequireDefault(require("./ToggleButtonRow"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const ToggleButton = Object.assign(
// @component ./ToggleButton.tsx
_ToggleButton.default, {
// @component ./ToggleButtonGroup.tsx
Group: _ToggleButtonGroup.default,
// @component ./ToggleButtonRow.tsx
Row: _ToggleButtonRow.default
});
var _default = exports.default = ToggleButton;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_ToggleButton","_interopRequireDefault","require","_ToggleButtonGroup","_ToggleButtonRow","e","__esModule","default","ToggleButton","Object","assign","ToggleButtonComponent","Group","ToggleButtonGroup","Row","ToggleButtonRow","_default","exports"],"sourceRoot":"../../../../src","sources":["components/ToggleButton/index.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,gBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAgD,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD,MAAMG,YAAY,GAAGC,MAAM,CAACC,MAAM;AAChC;AACAC,qBAAqB,EACrB;EACE;EACAC,KAAK,EAAEC,0BAAiB;EACxB;EACAC,GAAG,EAAEC;AACP,CACF,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAEaC,YAAY","ignoreList":[]}

View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getToggleButtonColor = void 0;
var _color = _interopRequireDefault(require("color"));
var _tokens = require("../../styles/themes/v3/tokens");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const getToggleButtonColor = ({
theme,
checked
}) => {
if (checked) {
if (theme.isV3) {
return (0, _color.default)(theme.colors.onSecondaryContainer).alpha(_tokens.tokens.md.ref.opacity.level2).rgb().string();
}
if (theme.dark) {
return 'rgba(255, 255, 255, .12)';
}
return 'rgba(0, 0, 0, .08)';
}
return 'transparent';
};
exports.getToggleButtonColor = getToggleButtonColor;
//# sourceMappingURL=utils.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_color","_interopRequireDefault","require","_tokens","e","__esModule","default","getToggleButtonColor","theme","checked","isV3","color","colors","onSecondaryContainer","alpha","tokens","md","ref","opacity","level2","rgb","string","dark","exports"],"sourceRoot":"../../../../src","sources":["components/ToggleButton/utils.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAAuD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGhD,MAAMG,oBAAoB,GAAGA,CAAC;EACnCC,KAAK;EACLC;AAIF,CAAC,KAAK;EACJ,IAAIA,OAAO,EAAE;IACX,IAAID,KAAK,CAACE,IAAI,EAAE;MACd,OAAO,IAAAC,cAAK,EAACH,KAAK,CAACI,MAAM,CAACC,oBAAoB,CAAC,CAC5CC,KAAK,CAACC,cAAM,CAACC,EAAE,CAACC,GAAG,CAACC,OAAO,CAACC,MAAM,CAAC,CACnCC,GAAG,CAAC,CAAC,CACLC,MAAM,CAAC,CAAC;IACb;IACA,IAAIb,KAAK,CAACc,IAAI,EAAE;MACd,OAAO,0BAA0B;IACnC;IACA,OAAO,oBAAoB;EAC7B;EACA,OAAO,aAAa;AACtB,CAAC;AAACC,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA","ignoreList":[]}