- 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
51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
"use strict";
|
|
|
|
exports.__esModule = true;
|
|
exports.default = createMetaResolver;
|
|
var _utils = require("./utils");
|
|
function createMetaResolver(polyfills) {
|
|
const {
|
|
static: staticP,
|
|
instance: instanceP,
|
|
global: globalP
|
|
} = polyfills;
|
|
return meta => {
|
|
if (meta.kind === "global" && globalP && (0, _utils.has)(globalP, meta.name)) {
|
|
return {
|
|
kind: "global",
|
|
desc: globalP[meta.name],
|
|
name: meta.name
|
|
};
|
|
}
|
|
if (meta.kind === "property" || meta.kind === "in") {
|
|
const {
|
|
placement,
|
|
object,
|
|
key
|
|
} = meta;
|
|
if (object && placement === "static") {
|
|
if (globalP && _utils.PossibleGlobalObjects.has(object) && (0, _utils.has)(globalP, key)) {
|
|
return {
|
|
kind: "global",
|
|
desc: globalP[key],
|
|
name: key
|
|
};
|
|
}
|
|
if (staticP && (0, _utils.has)(staticP, object) && (0, _utils.has)(staticP[object], key)) {
|
|
return {
|
|
kind: "static",
|
|
desc: staticP[object][key],
|
|
name: `${object}$${key}`
|
|
};
|
|
}
|
|
}
|
|
if (instanceP && (0, _utils.has)(instanceP, key)) {
|
|
return {
|
|
kind: "instance",
|
|
desc: instanceP[key],
|
|
name: `${key}`
|
|
};
|
|
}
|
|
}
|
|
};
|
|
} |