- 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
61 lines
1.4 KiB
JavaScript
61 lines
1.4 KiB
JavaScript
export default (function (o, c) {
|
|
// locale needed later
|
|
var proto = c.prototype;
|
|
|
|
proto.$g = function (input, get, set) {
|
|
if (this.$utils().u(input)) return this[get];
|
|
return this.$set(set, input);
|
|
};
|
|
|
|
proto.set = function (string, _int) {
|
|
return this.$set(string, _int);
|
|
};
|
|
|
|
var oldStartOf = proto.startOf;
|
|
|
|
proto.startOf = function (units, startOf) {
|
|
this.$d = oldStartOf.bind(this)(units, startOf).toDate();
|
|
this.init();
|
|
return this;
|
|
};
|
|
|
|
var oldAdd = proto.add;
|
|
|
|
proto.add = function (number, units) {
|
|
this.$d = oldAdd.bind(this)(number, units).toDate();
|
|
this.init();
|
|
return this;
|
|
};
|
|
|
|
var oldLocale = proto.locale;
|
|
|
|
proto.locale = function (preset, object) {
|
|
if (!preset) return this.$L;
|
|
this.$L = oldLocale.bind(this)(preset, object).$L;
|
|
return this;
|
|
};
|
|
|
|
var oldDaysInMonth = proto.daysInMonth;
|
|
|
|
proto.daysInMonth = function () {
|
|
return oldDaysInMonth.bind(this.clone())();
|
|
};
|
|
|
|
var oldIsSame = proto.isSame;
|
|
|
|
proto.isSame = function (that, units) {
|
|
return oldIsSame.bind(this.clone())(that, units);
|
|
};
|
|
|
|
var oldIsBefore = proto.isBefore;
|
|
|
|
proto.isBefore = function (that, units) {
|
|
return oldIsBefore.bind(this.clone())(that, units);
|
|
};
|
|
|
|
var oldIsAfter = proto.isAfter;
|
|
|
|
proto.isAfter = function (that, units) {
|
|
return oldIsAfter.bind(this.clone())(that, units);
|
|
};
|
|
}); |